声明:
如果您有更好的技术与作者分享,或者商业合作;
请访问作者个人网站 http://www.esqabc.com/view/message.html 留言给作者。
如果该案例触犯您的专利,请在这里:http://www.esqabc.com/view/message.html 留言给作者说明原由
作者一经查实,马上删除。
1、集群服务器,使用相同地区,内网相同的ECS
3个master:
内网IP | 名称 |
---|---|
172.26.16.249 | k8s-01 |
172.26.16.250 | k8s-02 |
172.26.16.251 | k8s-03 |
1个node:
内网IP | 名称 |
---|---|
172.26.16.252 | k8s-04 |
1个后面添加的node(即新加入集群的节点)
内网IP | 名称 |
---|---|
172.26.16.253 | k8s-05 |
注意:后面一个node节点服务器可要可不要,当前搭建集群不需要用到,后面步骤只是演戏怎么加入当前集群
如果没有特别说明,一般都在(k8s-01)服务器执行
2 、设置服务器名称与IP解析
1、更改服务器名称:
[root@k8s-01~]# hostnamectl set-hostname k8s-01 && bash
[root@k8s-02~]# hostnamectl set-hostname k8s-02 && bash
[root@k8s-03~]# hostnamectl set-hostname k8s-03 && bash
[root@k8s-04~]# hostnamectl set-hostname k8s-04 && bash
.
注意:这个操作在单个服务器执行
.b、编辑 /etc/hosts 文件,添加IP解析
[root@test~]# cat >> /etc/hosts <<EOF
.
添加下面内容
172.26.16.249 k8s-01
172.26.16.250 k8s-02
172.26.16.251 k8s-03
172.26.16.252 k8s-04
EOF
注意:这个操作在所有服务器都执行一次
3 、设置(k8s-01)无密码 ssh 登录其它节点
a、生成签名:
[root@k8s-01 ~]# ssh-keygen -t rsa -P “” -f /root/.ssh/id_rsa
或者
[root@k8s-01 ~]# ssh-keygen -t rsa
b、分发到各个服务器
方式1:
[root@k8s-01~]# ssh-copy-id root@k8s-01
。
[root@k8s-01~]# ssh-copy-id root@k8s-02
。
[root@k8s-01~]# ssh-copy-id root@k8s-03
。
[root@k8s-01~]# ssh-copy-id root@k8s-04
方式2:
[root@k8s-01~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 172.26.16.249
.
[root@k8s-01~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 172.26.16.250
.
[root@k8s-01~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 172.26.16.251
.
[root@k8s-01~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 172.26.16.252
.
4、设置集群脚本文件(environment.sh)
a、创建集群需要用到的目录,所有服务器都执行一次
[root@test ~]# mkdir -p /opt/k8s/{bin,work} /etc/{kubernetes,etcd}/cert
b、创建(environment.sh)并添加下面内容
[root@k8s-01~]# cd /opt/k8s/bin
.
[root@bin ~]# touch environment.sh
.
[root@bin ~]# vi environment.sh
#!/usr/bin/bash
# 生成 EncryptionConfig 所需的加密 key
export ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
# 集群各机器 IP 数组
export NODE_IPS=( 172.26.16.249 172.26.16.250 172.26.16.251 172.26.16.252 )
# 集群各