Docker k8s集群的搭建部署

1.需要下载的文件和安装包如下:

k8s 集群搭建

2.在server1/2上安装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
cri-tools-1.12.0-0.x86_64.rpm
[[email protected] k8s]# yum install -y 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 cri-tools-1.12.0-0.x86_64.rpm
systemctl start kubelet.service #开启服务
[[email protected] k8s]# systemctl enable kubelet.service
k8s 集群搭建

3.关闭swap分区

[[email protected] k8s]# swapoff -a
[[email protected] k8s]# vim /etc/fstab
[[email protected] k8s]# systemctl enable kubelet.service
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /etc/systemd/system/kubelet.service.
k8s 集群搭建

4.列出需要加载的镜像

  • kubeadm config images list
    k8s 集群搭建

5.加载镜像:

[[email protected] k8s]# docker load -i kube-apiserver.tar
[[email protected] k8s]# docker load -i kube-controller-manager.tar
[[email protected] k8s]# docker load -i kube-proxy.tar
[[email protected] k8s]# docker load -i pause.tar
[[email protected] k8s]# docker load -i etcd.tar
[[email protected] k8s]# docker load -i coredns.tar
[[email protected] k8s]# docker load -i kube-scheduler.tar
[[email protected] k8s]# docker load -i flannel.tar

k8s 集群搭建

6.初始化集群

在server1:

  • vim kube-flannel.yml

k8s 集群搭建

  • kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=172.25.60.1
    此时若报错:

k8s 集群搭建

解决办法:

[[email protected] k8s]# sysctl -a | grep net.*iptables
net.bridge.bridge-nf-call-iptables = 0
[[email protected] k8s]# sysctl -w net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-iptables = 1
显示下面的信息,表示集群初始化成功:

k8s 集群搭建

7.建立k8s 用户 设置环境

[[email protected] k8s]# useradd k8s
[[email protected] k8s]# chmod u+w /etc/sudoers
[[email protected] k8s]# vim /etc/sudoers
92 k8s ALL=(ALL) NOPASSWD: ALL
[[email protected] k8s]# su - k8s #切换到普通用户进行下面的操作
Last login: Fri May 31 09:06:50 CST 2019 on pts/0
[[email protected] ~]$ mkdir -p HOME/.kube[k8s@server1 ]HOME/.kube [[email protected] ~] sudo cp -i /etc/kubernetes/admin.conf HOME/.kube/config[k8s@server1 ]HOME/.kube/config [[email protected] ~] sudo chown (idu):(id -u):(id -g) HOME/.kube/configkubectl:[k8s@server1 ]HOME/.kube/config 解决kubectl补不全的问题: [[email protected] ~] echo “source <(kubectl completion bash)” >> ./.bashrc
[[email protected] ~]$ logout
[[email protected] k8s]# su - k8s
Last login: Fri May 31 09:18:23 CST 2019 on pts/0
k8s 集群搭建

8.server1:

将kube-flannel.yml文件发送到/home/k8s目录下。因为kube-flannel.yml文件原来的/root/k8s目录下,普通用户k8s无法访问。并根据初始化集群的提示,继续操作

[[email protected] ~]$ logout
[[email protected] k8s]# cp kube-flannel.yml /home/k8s/
[[email protected] k8s]# su - k8s
Last login: Fri May 31 09:21:08 CST 2019 on pts/0
[[email protected] ~]$ kubectl apply -f kube-flannel.yml
k8s 集群搭建

查看运行的容器:

  • sudo docker ps
    k8s 集群搭建

9.根据master节点初始化集群的结果提示,将server2节点加入集群。
k8s 集群搭建

[[email protected] ~]# modprobe ip_vs_sh
[[email protected] ~]# modprobe ip_vs_wrr
[[email protected] ~]# kubeadm join 172.25.60.1:6443 --token wggnuo.9npa1y0i4ahe1p42 --discovery-token-ca-cert-hash sha256:fb05dc0956a3e1d897a3113742498255e8d05c1c8d20c2c5479d2d658a97b9a8

9.在server1上查看节点状态是否为ready:

k8s 集群搭建
查看所有namespace下的pod:

k8s 集群搭建

相关文章:

  • 2021-05-30
  • 2022-12-23
  • 2021-07-17
  • 2021-11-13
猜你喜欢
  • 2021-11-13
  • 2021-11-23
  • 2020-01-08
  • 2019-06-22
  • 2021-08-17
  • 2022-01-01
相关资源
相似解决方案