主旨
既然选择使用kubespray的方式来部署k8s集群,那么我们首先要搞明白kubespray如何安装和配置,以及这些配置是如何生成的吧,要明白这些之后,后面的才好理解。
PS:在k8s系列中,推荐使用root用户来进行相关操作,否则的话会经常有权限性的问题,不太友好。
配置免密
在随意一台服务器上操作就行,我这里使用node-1节点来操作,仅在一台服务器上执行即可哈。
# 一路回车下去,什么信息都不用输入
[root@node-1 ~]# ssh-keygen
# 查看生成的pubkey,并复制下来,以供后面使用
[root@node-1 ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbdPY3FRjOrIgUmNUm71tQ6PoEc1qF6FHakITd+Ig/luEO3sWMWN/XpfEQY76effltPzQZ8OS7KI6uPg5qgtfFNOJjWE1JkeF55DYzBckYtJk98j05Hf+guP/FeKpZ8bWpQhonp0sAslw2N6SNQU56WIsFSTY8/QPXhOJ5/7djORY80mh6R7Xj8EZRMHw8TyRsYsJM1vNAYypUT+hHBuuP01TiI+Me7O2h0AyPjQxvwYcVQG7xca5gTS/xc+3RYswveS5FkY9ctvKiLyyyxs/uHt7RYlTMYt8d+6wDqo4gxBnsBDaylB9f1LYibyI+sqdGGztAQdm3eVy7aFUCEbjn root@node-1
[root@node-1 ~]#
该操作需要在每一台服务器上操作,包括上面的node-1节点:
验证一下,从node-1节点,分别登录三台服务器,看下是否需要输入密码,如果不需要输入密码的话,就成功了。# node-1
[root@node-1 ~]# mkdir -p /root/.ssh
[root@node-1 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbdPY3FRjOrIgUmNUm71tQ6PoEc1qF6FHakITd+Ig/luEO3sWMWN/XpfEQY76effltPzQZ8OS7KI6uPg5qgtfFNOJjWE1JkeF55DYzBckYtJk98j05Hf+guP/FeKpZ8bWpQhonp0sAslw2N6SNQU56WIsFSTY8/QPXhOJ5/7djORY80mh6R7Xj8EZRMHw8TyRsYsJM1vNAYypUT+hHBuuP01TiI+Me7O2h0AyPjQxvwYcVQG7xca5gTS/xc+3RYswveS5FkY9ctvKiLyyyxs/uHt7RYlTMYt8d+6wDqo4gxBnsBDaylB9f1LYibyI+sqdGGztAQdm3eVy7aFUCEbjn root@node-1" >> /root/.ssh/authorized_keys
# node-2
[root@node-2 ~]# mkdir -p /root/.ssh
[root@node-2 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbdPY3FRjOrIgUmNUm71tQ6PoEc1qF6FHakITd+Ig/luEO3sWMWN/XpfEQY76effltPzQZ8OS7KI6uPg5qgtfFNOJjWE1JkeF55DYzBckYtJk98j05Hf+guP/FeKpZ8bWpQhonp0sAslw2N6SNQU56WIsFSTY8/QPXhOJ5/7djORY80mh6R7Xj8EZRMHw8TyRsYsJM1vNAYypUT+hHBuuP01TiI+Me7O2h0AyPjQxvwYcVQG7xca5gTS/xc+3RYswveS5FkY9ctvKiLyyyxs/uHt7RYlTMYt8d+6wDqo4gxBnsBDaylB9f1LYibyI+sqdGGztAQdm3eVy7aFUCEbjn root@node-1" >> /root/.ssh/authorized_keys
# node-3
[root@node-3 ~]# mkdir -p /root/.ssh
[root@node-3 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbdPY3FRjOrIgUmNUm71tQ6PoEc1qF6FHakITd+Ig/luEO3sWMWN/XpfEQY76effltPzQZ8OS7KI6uPg5qgtfFNOJjWE1JkeF55DYzBckYtJk98j05Hf+guP/FeKpZ8bWpQhonp0sAslw2N6SNQU56WIsFSTY8/QPXhOJ5/7djORY80mh6R7Xj8EZRMHw8TyRsYsJM1vNAYypUT+hHBuuP01TiI+Me7O2h0AyPjQxvwYcVQG7xca5gTS/xc+3RYswveS5FkY9ctvKiLyyyxs/uHt7RYlTMYt8d+6wDqo4gxBnsBDaylB9f1LYibyI+sqdGGztAQdm3eVy7aFUCEbjn root@node-1" >> /root/.ssh/authorized_keys
有同学会发现需要让你输入yes,其实是只有第一次需要,后面就都不需要了。[root@node-1 ~]# ssh root@192.168.112.130
Last login: Thu Mar 10 11:16:21 2022 from node-1
[root@node-1 ~]# exit
登出
Connection to 192.168.112.130 closed.
[root@node-1 ~]# ssh root@192.168.112.131
Last login: Thu Mar 10 11:17:45 2022 from 192.168.112.130
[root@node-2 ~]# exit
登出
Connection to 192.168.112.131 closed.
[root@node-1 ~]# ssh root@192.168.112.132
Last login: Thu Mar 10 11:17:40 2022 from 192.168.112.130
[root@node-3 ~]# exit
登出
Connection to 192.168.112.132 closed.
[root@node-1 ~]#
依赖解决
该步骤只需要在node-1上执行。# 安装基础
[root@node-1 ~]# yum install -y epel-release python36 python36-pip git
# 下载kubespray源码
[root@node-1 ~]# wget https://github.com/kubernetes-sigs/kubespray/archive/v2.15.0.tar.gz
# 解压缩
[root@node-1 ~]# tar xf v2.15.0.tar.gz
[root@node-1 ~]# cd kubespray-2.15.0/
[root@node-1 kubespray-2.15.0]#
# 安装所需插件
[root@node-1 kubespray-2.15.0]# pip3.6 install setuptools_rust
[root@node-1 kubespray-2.15.0]# pip3.6 install --upgrade pip
[root@node-1 kubespray-2.15.0]# cat requirements.txt
ansible==2.9.16
jinja2==2.11.1
netaddr==0.7.19
pbr==5.4.4
jmespath==0.9.5
ruamel.yaml==0.16.10
[root@node-1 kubespray-2.15.0]# pip3.6 install -r requirements.txt
生成配置
剩余内容请转至VX公众号 “运维家” ,回复 “116” 查看。
网友评论