kubernetes1.14.0部署

时间:2023-12-12 19:49:38

2019/4/6/
使用kubeadm安装部署kubernetes集群:

前提:
1、各节点时间同步;
2、各节点主机名称解析:dns OR hosts;
3、各节点iptables及firewalld服务被disable;
4、关闭swap

节点说明
  IP地址      主机名    CPU   内存    硬盘
192.168.1.202    node1    2C    4G     100G
192.168.1.205    node2    2C    4G     100G
192.168.1.206    node3    2C    4G     100G

[root@master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.202 master
192.168.1.205 node1
192.168.1.206 node2

[root@master ~]# scp /etc/hosts root@192.168.1.205:/etc
[root@master ~]# scp /etc/hosts root@192.168.1.206:/etc

配置 SSH 免密码登录登录(只master节点执行)
[root@master ~]# ssh-keygen -t rsa      #一路回车
[root@master ~]# ssh-copy-id node1
[root@master ~]# ssh-copy-id node2

1、生成yum仓库配置(master端生成好并发送到个node节点)
[root@master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
[root@master ~]# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
#baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64    官网地址
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
#官网地址
#gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

[root@master ~]# yum clean all;yum -y repolist      #所有节点执行
[root@master ~]# scp /etc/yum.repos.d/{docker-ce.repo,kubernetes.repo} node1:/etc/yum.repos.d/
[root@master ~]# scp /etc/yum.repos.d/{docker-ce.repo,kubernetes.repo} node2:/etc/yum.repos.d/

所有节点执行:
[root@master ~]# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
[root@master ~]# sysctl --system

安装相关的程序包(所有节点执行)
[root@master ~]# yum -y install docker-ce kubelet kubeadm kubectl
[root@master ~]# systemctl start docker.service
[root@master ~]# vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

kubernetes要求必须关闭swap(所有节点执行)
[root@master ~]# swapoff -a && sysctl -w vm.swappiness=0
同时把/etc/fstab包含swap那行记录删掉

设定docker和kubelet开机自启动:
[root@master ~]# systemctl restart kubelet
[root@master ~]# systemctl enable docker kubelet

初始化master节点
[root@master ~]# kubeadm init \
--apiserver-advertise-address=192.168.1.202 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.14.0 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 \
--ignore-preflight-errors=Swap

注意:请记录最后的kubeadm join命令的全部内容。

kubernetes1.14.0部署

查看状态
[root@master ~]# systemctl status kubelet.service
#=======================按需操作==========================================
要使kubectl为非root用户工作,请运行以下命令,这些命令也是kubeadm init输出的一部分:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#=======================按需操作==========================================
如果您是root用户,则可以运行:(这里我就是用的root,所以执行下一句)
[root@master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

查看节点状态
[root@master ~]# kubectl get cs,node
kubernetes1.14.0部署

注:此时节点的状态为NotReady,部署好 Flannel后,会变更 为Ready

添加flannel网络附件
[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubernetes1.14.0部署

 添加节点到集群中

Usege:

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

如果忘记了 Master 的 Token,可以在 Master 上输入以下命令查看:
[root@master ~]# kubeadm token list

默认情况下 Token 过期是时间是24小时,如果 Token 过期以后,可以输入以下命令,生成新的 Token
[root@master ~]# kubeadm token create

将 Node 节点加入到 Master:

kubernetes1.14.0部署

kubernetes1.14.0部署

未完..............