1、安装 Kubeadm (主从配置)
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
删除旧版本,如果安装了
yum remove kubeadm kubectl kubelet kubernetes-cni cri-tools socat
默认安装最新稳定版,当前版本1.17.0
yum install kubeadm
安装指定版本用下面的命令
#yum -y install kubeadm-1.15.7 kubectl-1.15.7 kubelet-1.15.7
查看所有可安装版本
yum --showduplicates list kubeadm
开机自启
systemctl enable kubelet.service
2、初始化主节点
注意:v1.15.1只支持在1.18.0版本以下的kubeadm安装
kubeadm config print init-defaults > kubeadm-config.yaml
#修改 kubeadm-config.yaml文件如下部分
localAPIEndpoint:
advertiseAddress: 192.168.56.101(这里的ip修改为主机ip)
默认拉取镜像地址k8s.gcr.io国内无法访问,指定阿里云镜像仓库地址
imageRepository: registry.aliyuncs.com/google_containers
kubernetes 版本
kubernetesVersion: v1.15.1
networking组下新增一行 podSubnet: “10.244.0.0/16” flannel默认使用的网断
networking:
podSubnet: “10.244.0.0/16”
serviceSubnet: 10.96.0.0/12
添加下面子段,讲默认的调度方式改为ipvs
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
featureGates:
SupportIPVSProxyMode: true
mode: ipvs
初始化 --experimental-upload-certs 给其它主节点自动颁发证书 tee kubeadm-init.log 把所有信息写入文件中
kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log
####################################################################################
注意:
如遇到kubeadm初始化失败的错误
[kubelet-check] Initial timeout of 40s passed.
error execution phase upload-config/kubelet:
Error writing Crisocket information for the control-plane node: timed out waiting for the condition
执行下面的命令:
swapoff -a && kubeadm reset && systemctl daemon-reload && systemctl restart kubelet && iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
####################################################################################
3、加入主节点以及其余工作节点
执行安装日志中的加入命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown
(
i
d
−
u
)
:
(id -u):
(id−u):(id -g) $HOME/.kube/config
安装成功后(注:同时如未开启flannel网络,网络状态为NotReady,且只有一台master节点信息):