Docker---k8s集群搭建
环境配置
安装docker
yum install containerd.io-1.2.5-3.1.el7.x86_64.rpm container-selinux-2.21-1.el7.noarch.rpm docker-ce-18.09.6-3.el7.x86_64.rpm docker-ce-cli-18.09.6-3.el7.x86_64.rpm -y ##安装docker
systemctl start docker ##开启docker服务
yum install bash-* -y
sysctl -a |grep bridge ##过滤桥接信息
cd /etc/sysctl.d/
vim docker.conf
sysctl -w net.bridge.bridge-nf-call-iptables=1
sysctl --system ##重载配置服务
安装k8s
yum install cri-tools-1.12.0-0.x86_64.rpm kubeadm-1.12.2-0.x86_64.rpm kubectl-1.12.2-0.x86_64.rpm kubelet-1.12.2-0.x86_64.rpm kubernetes-cni-0.6.0-0.x86_64.rpm -y ##安装所需k8s软件包
关闭swap分区,否则加入集群时会出现报错。
swapoff -a
vim /etc/fstab
#/dev/mapper/rhel-swap swap swap defaults 0 0
swapon -s
加载dcoker镜像
docker load -i kube-apiserver.tar
docker load -i kube-controller-manager.tar
docker load -i kube-scheduler.tar
docker load -i kube-proxy.tar
docker load -i pause.tar
docker load -i etcd.tar
docker load -i coredns.tar
docker load -i flannel.tar
1
2
3
4
5
6
7
8
master主机添加基础环境配置
vim kube-flannel.yml ##编辑配置文件,便于加入节点生成pod
76 “Network”: “10.244.0.0/16”
useradd k8s ##创建k8s用户
vim /etc/sudoers
chmod u+w /etc/sudoers ##这个文件没有写功能,加入写功能
vim /etc/sudoers
92 k8s ALL=(ALL) NOPASSWD:ALL ##添加k8s用户免密
cp kube-flannel.yml /home/k8s ##复制配置文件到k8s用户文件下,便于生成集群信息
su - k8s ##由于新建以命令件必须使用用户k8s,确定所有者
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown (id -g) $HOME/.kube/config
vim /home/k8s/.bashrc
source <(kubectl completion bash)
kubectl apply -f kube-flannel.yml ##根据文件创建集群信息
sudo docker ps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
添加集群
master主机创建集群
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=172.25.30.1 ##创建主机集群
1
在这里插入图片描述
此时应该注意应该先将kubeadm服务enable,否则会在初始化时出现报错,解决方法:
systemctl enable kubelet ##服务开机自启
1
此时出现报错:
[ERROR FileContent–proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1
[ERROR SystemVerification]: unsupported docker version: 18.09.6
1
2
此时第一个报错解决:
echo “1” >/proc/sys/net/ipv4/ip_forward
1
第二个报错解决,此时报错主要是不支持docker版本,但对环境部署并无影响,所以可以直接忽略,解决途径,主要是忽略这个报错,但要把其他报错解决,才能启动服务:
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=172.25.30.1 --ignore-preflight-errors=all ##忽略docker版本信息,创建集群
1
解决之后初始化会生成tocken值,以及一个哈希密码,以便加入结点机。
在这里插入图片描述
结点机:
systemctl enable kubelet
1
添加集群节点:
kubeadm join 172.25.30.1:6443 --token jr4mvj.09jv8b5iyjnw9qen --discovery-token-ca-cert-hash sha256:82439b1d96591075228d4aaffe581dfb613ed16bb58e5e5e1322dd1cb8479061 ##根据生存的集群标识加入集群
1
在这里插入图片描述
出现报错:
[ERROR Swap]: running with swap on is not supported. Please disable swap
[ERROR SystemVerification]: unsupported docker version: 18.09.6
1
2
第一个报错解决:
swapoff -a
vim /etc/fstab
#/dev/mapper/rhel-swap swap swap defaults 0 0
1
2
3
第二个报错解决:
kubeadm join 172.25.30.1:6443 --token jr4mvj.09jv8b5iyjnw9qen --discovery-token-ca-cert-hash sha256:82439b1d96591075228d4aaffe581dfb613ed16bb58e5e5e1322dd1cb8479061 --ignore-preflight-errors=all ##忽略版本依赖信息
1
在这里插入图片描述
但此时添加之后出现情况:
在这里插入图片描述
查看kubelet服务日志:
journalctl -f -u kubelet.service ##查看日志服务
1
出现报错:
在这里插入图片描述
发现没有加载镜像,重新加载所需上文提到的8个镜像。
kubeadm reset ##重新重置服务,由于第一次添加没有成功
kubeadm join 172.25.30.1:6443 --token prd5ik.2hed88jyxwkzsae4 --discovery-token-ca-cert-hash sha256:4816840eedb5fdf957e0ca5d8d412f5a76719d7142d217acb4b8029be41eb2a6 --ignore-preflight-errors=all
1
2
如果发现存在kube-system服务没有Running,就删除此节点,会自动重新加载一直刷新直到全部运行:
kubectl delete pod kube-flannel-ds-amd64-hlfzp -n kube-system
1
查看效果:
在这里插入图片描述
集群配置成功。
推荐阅读
-
Docker---k8s集群搭建
-
K8s 利用docker快速部署RabbitMQ集群
-
k8s集群搭建(docker & k8s)
-
K8S + docker + jupyterhub 计算集群配置
-
K8S集群部署flannel分配IP冲突的解决方法
-
spring mvc4.1.6 spring4.1.6 hibernate4.3.11 mysql5.5.25开发环境搭建图文教程
-
Redis3.x之后的集群例子 博客分类: Redis redis
-
mybatis3.3+struts2.3.24+mysql5.1.22开发环境搭建图文教程
-
struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程
-
struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程