Centos7系统安装部署Kubernetes(k8s)集群教程( 三 )
社区服务
火星文
银行
结婚
道具中心
勋章中心
管理操作原因
基本信息
管理团队
管理操作
在线会员
会员排行
版块排行
帖子排行
手机版
小说论坛
用户中心
搜索
银行
猴岛论坛
帖子
用户
版块
帖子
高级搜索
跑跑卡丁车
聊天交友&心情咖啡
动漫剧场
综合游戏交流
校园青春
纪念馆
QQ飞车
体育沙龙
奇闻&笑话
娱乐时尚星座
关闭
选中
1
篇
全选
猴岛论坛
电脑百科
Centos7系统安装部署Kubernetes(k8s)集群教程( 三 )
发帖
回复
倒序阅读
最近浏览的帖子
最近浏览的版块
« 返回列表
新帖
悬赏
任务
交易贴
自动发卡
拍卖
红包
际遇红包
4
个回复
[技术小组]
Centos7系统安装部署Kubernetes(k8s)集群教程( 三 )
楼层直达
三岁
ZxID:44344
关注Ta
注册时间
2007-01-08
最后登录
2024-09-12
发帖
2111
在线
711小时
精华
0
DB
7560
威望
11867
保证金
0
桃子
6
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
猴岛技术组
糖果
举报
只看楼主
使用道具
楼主
发表于: 2023-08-06
0
4.6 添加worker节点到k8s集群
接下来把另外的两个worker节点也加入到k8s集群。
kubeadm init的时候输出了如下这句:kubeadm join 192.168.110.130:6443 --token nta3x4.3e54l2dqtmj9tlry --discovery-token-ca-cert-hash sha256:9add1314177ac5660d9674dab8c13aa996520028514246c4cd103cf08a211cc8 ,在另外两个worker节点执行这一命令就可以把节点加入到k8s集群里。
如果加入集群的token忘了,可以使用如下的命令获取最新的加入命令token
复制代码
[root@k8scloude1 ~]# kubeadm token create --print-join-command
kubeadm join 192.168.110.130:6443 --token 8e3haz.m1wrpuf357g72k1u --discovery-token-ca-cert-hash sha256:9add1314177ac5660d9674dab8c13aa996520028514246c4cd103cf08a211cc8
在另外两个节点执行加入集群的token命令
复制代码
[root@k8scloude2 ~]# kubeadm join 192.168.110.130:6443 --token 8e3haz.m1wrpuf357g72k1u --discovery-token-ca-cert-hash sha256:9add1314177ac5660d9674dab8c13aa996520028514246c4cd103cf08a211cc8
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
[root@k8scloude3 ~]# kubeadm join 192.168.110.130:6443 --token 8e3haz.m1wrpuf357g72k1u --discovery-token-ca-cert-hash sha256:9add1314177ac5660d9674dab8c13aa996520028514246c4cd103cf08a211cc8
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
在k8scloude1查看节点状态,可以看到两个worker节点都加入到了k8s集群
复制代码
[root@k8scloude1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8scloude1 NotReady control-plane,master 8m43s v1.21.0
k8scloude2 NotReady <none> 28s v1.21.0
k8scloude3 NotReady <none> 25s v1.21.0
可以发现worker节点加入到k8s集群后多了两个镜像
复制代码
[root@k8scloude2 ~]# docker p_w_picpath
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.21.0 38ddd85fe90e 9 months ago 122MB
registry.aliyuncs.com/google_containers/pause 3.4.1 0f8457a4c2ec 12 months ago 683kB
[root@k8scloude3 ~]# docker p_w_picpath
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.21.0 38ddd85fe90e 9 months ago 122MB
registry.aliyuncs.com/google_containers/pause 3.4.1 0f8457a4c2ec 12 months ago 683kB
4.7 部署CNI网络插件calico
虽然现在k8s集群已经有1个master节点,2个worker节点,但是此时三个节点的状态都是NotReady的,原因是没有CNI网络插件,为了节点间的通信,需要安装cni网络插件,常用的cni网络插件有calico和flannel,两者区别为:flannel不支持复杂的网络策略,calico支持网络策略,因为今后还要配置k8s网络策略networkpolicy,所以本文选用的cni网络插件为calico!
现在去官网下载calico.yaml文件:
官网:
https://projectcalico.docs.tigera.io/about/about-calico
搜索框里直接搜索calico.yaml
找到下载calico.yaml的命令
下载calico.yaml文件
复制代码
[root@k8scloude1 ~]# curl https://docs.projectcalico.org/manifests/calico.yaml -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 212k 100 212k 0 0 44222 0 0:00:04 0:00:04 --:--:-- 55704
[root@k8scloude1 ~]# ls
calico.yaml
查看需要下载的calico镜像,这四个镜像需要在所有节点都下载,以k8scloude1为例
复制代码
[root@k8scloude1 ~]# grep image calico.yaml
image: docker.io/calico/cni:v3.21.2
image: docker.io/calico/cni:v3.21.2
image: docker.io/calico/pod2daemon-flexvol:v3.21.2
image: docker.io/calico/node:v3.21.2
image: docker.io/calico/kube-controllers:v3.21.2
[root@k8scloude1 ~]# docker pull docker.io/calico/cni:v3.21.2
v3.21.2: Pulling from calico/cni
Digest: sha256:ce618d26e7976c40958ea92d40666946d5c997cd2f084b6a794916dc9e28061b
Status: Image is up to date for calico/cni:v3.21.2
docker.io/calico/cni:v3.21.2
[root@k8scloude1 ~]# docker pull docker.io/calico/pod2daemon-flexvol:v3.21.2
v3.21.2: Pulling from calico/pod2daemon-flexvol
Digest: sha256:b034c7c886e697735a5f24e52940d6d19e5f0cb5bf7caafd92ddbc7745cfd01e
Status: Image is up to date for calico/pod2daemon-flexvol:v3.21.2
docker.io/calico/pod2daemon-flexvol:v3.21.2
[root@k8scloude1 ~]# docker pull docker.io/calico/node:v3.21.2
v3.21.2: Pulling from calico/node
Digest: sha256:6912fe45eb85f166de65e2c56937ffb58c935187a84e794fe21e06de6322a4d0
Status: Image is up to date for calico/node:v3.21.2
docker.io/calico/node:v3.21.2
[root@k8scloude1 ~]# docker pull docker.io/calico/kube-controllers:v3.21.2
v3.21.2: Pulling from calico/kube-controllers
d6a693444ed1: Pull complete
a5399680e995: Pull complete
8f0eb4c2bcba: Pull complete
52fe18e41b06: Pull complete
2f8d3f9f1a40: Pull complete
bc94a7e3e934: Pull complete
55bf7cf53020: Pull complete
Digest: sha256:1f4fcdcd9d295342775977b574c3124530a4b8adf4782f3603a46272125f01bf
Status: Downloaded newer image for calico/kube-controllers:v3.21.2
docker.io/calico/kube-controllers:v3.21.2
#主要是如下4个镜像
[root@k8scloude1 ~]# docker p_w_picpath
REPOSITORY TAG IMAGE ID CREATED SIZE
calico/node v3.21.2 f1bca4d4ced2 4 weeks ago 214MB
calico/pod2daemon-flexvol v3.21.2 7778dd57e506 5 weeks ago 21.3MB
calico/cni v3.21.2 4c5c32530391 5 weeks ago 239MB
calico/kube-controllers v3.21.2 b20652406028 5 weeks ago 132MB
修改calico.yaml 文件,CALICO_IPV4POOL_CIDR的IP段要和kubeadm初始化时候的pod网段一致,注意格式要对齐,不然会报错
复制代码
[root@k8scloude1 ~]# vim calico.yaml
[root@k8scloude1 ~]# cat calico.yaml | egrep "CALICO_IPV4POOL_CIDR|"10.244""
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
不直观的话看图片:修改calico.yaml 文件
应用calico.yaml文件
复制代码
[root@k8scloude1 ~]# kubectl apply -f calico.yaml
configmap/calico-config unchanged
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/caliconodestatuses.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipreservations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org configured
clusterrole.rbac.authorization.k8s.io/calico-kube-controllers unchanged
clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers unchanged
clusterrole.rbac.authorization.k8s.io/calico-node unchanged
clusterrolebinding.rbac.authorization.k8s.io/calico-node unchanged
daemonset.apps/calico-node created
serviceaccount/calico-node created
deployment.apps/calico-kube-controllers created
serviceaccount/calico-kube-controllers created
Warning: policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
poddisruptionbudget.policy/calico-kube-controllers created
此时发现三个节点都是Ready状态了
复制代码
[root@k8scloude1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8scloude1 Ready control-plane,master 53m v1.21.0
k8scloude2 Ready <none> 45m v1.21.0
k8scloude3 Ready <none> 45m v1.21.0
4.8 配置kubectl命令tab键自动补全
查看kubectl自动补全命令
复制代码
[root@k8scloude1 ~]# kubectl --help | grep bash
completion Output shell completion code for the specified shell (bash or zsh)
添加source <(kubectl completion bash)到/etc/profile,并使配置生效
复制代码
[root@k8scloude1 ~]# cat /etc/profile | head -2
# /etc/profile
source <(kubectl completion bash)
[root@k8scloude1 ~]# source /etc/profile
此时即可kubectl命令tab键自动补全
复制代码
[root@k8scloude1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8scloude1 Ready control-plane,master 59m v1.21.0
k8scloude2 Ready <none> 51m v1.21.0
k8scloude3 Ready <none> 51m v1.21.0
#注意:需要bash-completion-2.1-6.el7.noarch包,不然不能自动补全命令
[root@k8scloude1 ~]# rpm -qa | grep bash
bash-completion-2.1-6.el7.noarch
bash-4.2.46-30.el7.x86_64
bash-doc-4.2.46-30.el7.x86_64
自此,Kubernetes(k8s)集群部署完毕!
感兴趣的猴子可以看看教程一 二
教程一:
Centos7系统安装部署Kubernetes(k8s)集群教程( 一 )
教程二:
Centos7系统安装部署Kubernetes(k8s)集群教程( 二 )
本帖de评分:
共
1
条评分
DB +10
Null.
DB
+10
2023-08-09
我很赞同
隐藏
本帖de打赏:
共
条打赏
隐藏
打赏
收藏
新鲜事
相关主题
Centos7系统安装部署Kubernetes(k8s)集群教程( 一 )
[/url]
猴岛论坛技术组-神一般的头衔 各个领域 天才云集 福利多多 你还在等什么 赶快加入我们吧!
小野博客
回复
引用
鲜花[
0
]
鸡蛋[
0
]
゛千城墨白ぅ.
ZxID:25949615
关注Ta
注册时间
2013-05-17
最后登录
2024-03-15
发帖
5142
在线
2881小时
精华
0
DB
5345
威望
3333
保证金
0
桃子
31
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
大将
在这个冷暖自知的年代,遇见你们,真好!
举报
只看该作者
沙发
发表于: 2023-08-06
0
不愧是大神
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
老赵.
ZxID:7272
关注Ta
注册时间
2006-09-19
最后登录
2024-11-21
发帖
23676
在线
3250小时
精华
0
DB
8474
威望
12345
保证金
800
桃子
47
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
总版主
配偶:
大小姐
啊?
举报
只看该作者
板凳
发表于: 2023-08-07
0
好复杂
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
算账
ZxID:29357411
关注Ta
注册时间
2013-09-11
最后登录
2024-11-22
发帖
38776
在线
2869小时
精华
0
DB
21798
威望
32088
保证金
0
桃子
19
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
配偶:
浓酒与歌
举报
只看该作者
地板
发表于: 2023-08-07
0
不愧是
本帖de评分:
共
1
条评分
DB +10
Null.
DB
+10
2023-08-07
我很赞同
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
Null.
ZxID:171717
关注Ta
注册时间
2007-09-04
最后登录
2024-07-21
发帖
11158
在线
2514小时
精华
0
DB
113706
威望
666
保证金
0
桃子
13
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
配偶:
金度延
接电脑组装配置咨询 IP查定位等
举报
只看该作者
4楼
发表于: 2023-08-07
0
我很赞同
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
« 返回列表
发帖
回复
关闭