Skip to content

Bear-big-XX/k8s-java

Repository files navigation

k8s多主节点集群动态新增节点(ssh)

集群配置

虚拟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客户端连接步骤

  1. 引入依赖
<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>
  1. 四台主机生成ssh公钥、私钥对
[root@master ~]# ssh-keygen -t rsa -b 4096 -f ~/.ssh/k8s-admin-key
  1. 四台主机修改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目录下

About

k8s集群相关功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages