虚拟ip:192.168.67.188
节点名 | ip |
---|---|
master01 | 192.168.67.183 |
master02 | 192.168.67.184 |
master03 | 192.168.67.185 |
node01 | 192.168.67.186 |
node02 | 192.168.67.187 |
功能描述:
- 目前已经搭建了3台主节点,接下来需要通过
ssh
指令获取kubeadm join的token
,接着去从节点node01
执行加入集群的指令 - 多主节点根据
haproxy
+keepalived
搭建,根据ip addr | grep "+ virtualIp + "| wc -l\n
是否有结果输出来判断此刻真正的主节点
- java引入ssh连接依赖
- 获取3台master节点以及待加入节点的ssh密钥文件
- 为了让3台主节点都能执行kubectl,需要将master01的 ~/.kube/目录下的config文件拷贝到其余主节点
java客户端连接步骤
- 引入依赖
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
- 四台主机生成ssh公钥、私钥对
[root@master ~]# ssh-keygen -t rsa -b 4096 -f ~/.ssh/k8s-admin-key
- 四台主机修改ssh配置
# 创建 .ssh 目录(如果不存在)
mkdir -p /root/.ssh
# 设置目录权限(必须为 700)
chmod 700 /root/.ssh
# 创建 authorized_keys 文件(如果不存在)
touch /root/.ssh/authorized_keys
# 设置文件权限(必须为 600)
chmod 600 /root/.ssh/authorized_keys
# 追加公钥到文件
cat /root/.ssh/k8s-admin-key.pub >> /root/.ssh/authorized_keys
vi /etc/ssh/sshd_config
# 修改下面的几项
PubkeyAuthentication yes # 允许公钥认证
PermitRootLogin yes # 允许 root 登录
AuthorizedKeysFile .ssh/authorized_keys # 指定公钥文件路径
最后执行systemctl restart sshd
3台master节点的ssh秘钥分别命名为"k8s-master01-admin-key","k8s-master02-admin-key","k8s-master03-admin-key",从节点为"k8s-node01-admin-key",将秘钥文件全部保存在resources目录下