OPenshift 安装的时候会指定用于访问集群的访问机, 比如PC1的ssh key 为key1, 那key1会配置到集群的ISO中, 那后如果PC1重新装OS 或者想换成其他的电脑是, key1 可以为变成key2.
我们只需要用machineConfig就可以轻松更新。
步骤 如下:
1. 新的访问机上把key 生成一下: ssh-keygen -t rsa -C 'xx@xx.com'
保存key: cat /root/.ssh/id_rsa.pub
2. 用初始帐号登录cluster: (初始帐号是生成ISO的时候, 存在目录里的)
oc login -u kubeadmin -p xxxx https://api.sno-cluster3.xxxxx.com:6443 --insecure-skip-tls-verify=true
3. 获取原来的ssh machineConfig
oc get machineconfig
这里查出来应该有两个ssh相关的machineConfig
把ssh相关的存成yaml:
oc get machineconfig 99-master-ssh -o yaml > 99-master-ssh.yaml
oc get machineconfig 99-worker-ssh -o yaml > 99-worker-ssh.yaml
把/root/.ssh/id_rsa.pub 中的key 修改到这个yaml中。
oc apply -f 99-worker-ssh.yaml
oc apply -f 99-master-ssh.yaml
上边包含了worker , master两个。
4. oc get mcp //确认更新完成。
5. 确认生效:
oc get machineconfig 99-master-ssh -o yaml
oc get machineconfig 99-worker-ssh -o yaml
6. 在新访问机上 ssh core@10.15.19.12 试下, 发现已经可以登录了。