openshift 增加節點:
前提是有一個已經運行的openshift的集羣。在此集羣上添加一個node。
如何建立openshift集羣,參見https://blog.csdn.net/xiaofeng_yan/article/details/90174543
步驟一:
新建立一個虛擬機,本文的虛擬機的IP是
10.2.3.21,hostname 爲node3
步驟二:
在master1的/etc/ansible/hosts增加如下字段:
[OSEv3:children]
new_nodes #增加此字段
#增加下兩行
[new_nodes]
node3 openshift_node_labels="{'region': 'primary', 'zone': 'east'}" openshift_node_group_name='node-config-compute'
保存文件
步驟三:
將master1的公鑰加入到node3
pc# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
步驟四:
修改所有host的/etc/hosts文件,具體步驟
1 在master1上修改/etc/hosts文件,內容如下:
10.2.3.12 master1
10.2.3.13 master2
10.2.3.14 master3
10.2.3.15 node1
10.2.3.16 node2
10.2.3.17 nfs
10.2.3.18 lb
#增加的node3的dns解析
10.2.3.21 node3
2 將在master1修改的host3放到集羣內所有的host上
for host in master1 master2 master3 node1 node2 node3 lb nfs;do scp /etc/hosts ${host}/etc;done
步驟五:
重啓每個host的dnsmq
pc# ansible all -m shell -a "systemctl restart dnsmasq"
此步很重要,不執行此步會導致如下錯誤:
TASK [Approve node certificates when bootstrapping] ************************************
FAILED - RETRYING: Approve node certificates when bootstrapping (30 retries left).
FAILED - RETRYING: Approve node certificates when bootstrapping (29 retries left).
步驟六:
提前下載好依賴的rpm包和docker鏡像,具體和鏡像參見:
https://blog.csdn.net/xiaofeng_yan/article/details/90174543
步驟七:執行ansible playbook,在新增節點上部署openshift程序
ansible-playbook openshift-ansible/playbooks/openshift-node/scaleup.yml
步驟八:驗證新增節點已添加成功
1 pc# oc get nodes
NAME STATUS ROLES AGE VERSION
master1 Ready infra,master 3d v1.11.0+d4cacc0
master2 Ready infra,master 3d v1.11.0+d4cacc0
master3 Ready infra,master 3d v1.11.0+d4cacc0
node1 Ready compute 3d v1.11.0+d4cacc0
node2 Ready compute 3d v1.11.0+d4cacc0
node3 Ready compute 1h v1.11.0+d4cacc0
2 pc# oc get --raw /api/v1/nodes/node3/proxy/healthz
ok