· [certificates]生成相关的各种证书
· [kubeconfig]生成相关的kubeconfig文件
· [bootstraptoken]生成token记录下来,后边使用kubeadm join往集群中添加节点时会用到
提示:初始化仅需要在master01上执行,若初始化异常可通过kubeadm reset && rm -rf $HOME/.kube重置 。
添加其他master节点[root@master02 ~]# kubeadm join 172.24.8.100:16443 --token xifg5c.3mvph3nwx1srdf7l
--discovery-token-ca-cert-hash sha256:031a8758ddad5431be4132ecd6445f33b17c2192c11e010209705816a4a53afd
--control-plane --certificate-key 560c926e508ed6011cd35fe120a5163d3ca32e16b745cf1877da970e3e0982f0
[root@master02 ~]# mkdir -p $HOME/.kube
[root@master02 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master02 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@master02 ~]# cat << EOF >> ~/.bashrc
export KUBECONFIG=$HOME/.kube/config
EOF #设置KUBECONFIG环境变量
[root@master02 ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@master02 ~]# source ~/.bashrc
提示:master03也如上执行添加至集群的controlplane 。提示:若添加异常可通过kubeadm reset && rm -rf $HOME/.kube重置 。
回到顶部
安装NIC插件NIC插件介绍· Calico 是一个安全的 L3 网络和网络策略提供者 。
· Canal 结合 Flannel 和 Calico,提供网络和网络策略 。
· Cilium 是一个 L3 网络和网络策略插件,能够透明的实施 HTTP/API/L7 策略 。同时支持路由(routing)和叠加/封装( overlay/encapsulation)模式 。
· Contiv 为多种用例提供可配置网络(使用 BGP 的原生 L3,使用 vxlan 的 overlay,经典 L2 和 Cisco-SDN/ACI)和丰富的策略框架 。Contiv 项目完全开源 。安装工具同时提供基于和不基于 kubeadm 的安装选项 。
· Flannel 是一个可以用于 Kubernetes 的 overlay 网络提供者 。
· Romana 是一个 pod 网络的层 3 解决方案,并且支持 NetworkPolicy API 。Kubeadm add-on 安装细节可以在这里找到 。
· Weave Net 提供了在网络分组两端参与工作的网络和网络策略,并且不需要额外的数据库 。
· CNI-Genie 使 Kubernetes 无缝连接到一种 CNI 插件,例如:Flannel、Calico、Canal、Romana 或者 Weave 。提示:本方案使用Calico插件 。
设置标签[root@master01 ~]# kubectl taint nodes --all node-role.kubernetes.io/master- #允许master部署应用
提示:部署完内部应用后可使用kubectl taint node master01 node-role.kubernetes.io/master="":NoSchedule重新设置Master为Master Only 状态 。
部署calico[root@master01 ~]# cat config/calico/calico.yaml #检查配置
……
- name: CALICO_IPV4POOL_CIDR
value: "10.10.0.0/16" #检查Pod网段
……
- name: IP_AUTODETECTION_METHOD
value: "interface=eth.*" #检查节点之间的网卡
# Auto-detect the BGP IP address.
- name: IP
value: "autodetect"
……
[root@master01 ~]# kubectl apply -f config/calico/calico.yaml
[root@master01 ~]# kubectl get pods --all-namespaces -o wide #查看部署
[root@master01 ~]# kubectl get nodes

文章插图
修改node端口范围[root@master01 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml
……
- --service-node-port-range=1-65535
……
提示:如上仅需在所有Master节点操作 。
回到顶部
添加Worker节点添加Worker节点[root@master01 ~]# for node_ip in ${NODE_IPS[@]}
do
echo ">>> ${node_ip}"
ssh root@${node_ip} "kubeadm join 172.24.8.100:16443 --token xifg5c.3mvph3nwx1srdf7l
--discovery-token-ca-cert-hash sha256:031a8758ddad5431be4132ecd6445f33b17c2192c11e010209705816a4a53afd"
ssh root@${node_ip} "systemctl enable kubelet.service"
done
提示:如上仅需Master01节点操作,从而实现所有Worker节点添加至集群,若添加异常可通过如下方式重置:
[root@node01 ~]# kubeadm reset
[root@node01 ~]# ifconfig cni0 down
[root@node01 ~]# ip link delete cni0
[root@node01 ~]# ifconfig flannel.1 down
[root@node01 ~]# ip link delete flannel.1
[root@node01 ~]# rm -rf /var/lib/cni/
确认验证[root@master01 ~]# kubectl get nodes #节点状态
[root@master01 ~]# kubectl get cs #组件状态
[root@master01 ~]# kubectl get serviceaccount #服务账户
[root@master01 ~]# kubectl cluster-info #集群信息
[root@master01 ~]# kubectl get pod -n kube-system -o wide #所有服务状态
推荐阅读
- 高通发布QC5快充标准,功率100W+,大功率快充有望统一
- 平板打字不方便?78键无线蓝牙键盘让你高效娱乐
- 最新天文学重大发现 我国集中发现591颗高速星
- 翡翠|翡翠已经成为了投资品,但是知道它的档次,只有高品质的才有价值
- 翡翠|花青种翡翠石常见的品种,属于一种中档产品,价值并不算高
- 网站打开速度慢,怎么解决?提高网站打开速度的五大秘籍
- 喝奶茶的热量高吗,奶茶里的爆爆珠有害吗
- 湖南黑茶的加工制作,湖南黑茶品鉴高等黑茶颇细嫩
- 招聘|中专、职高以及成绩一般的高中生,你们现在有福了,以后有机会去读职业本科!
- 网友热议|中科院回应停用知网 近千万续订费太贵:高价续费引发学者呼吁开展反垄断调查
