Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】-LMLPHP
预备条件:

kubespray 包含 ansible、ansible-playbook命令以及通过kubespray项目安装kubernetes集群的介质。

nerdctl pull quay.io/kubespray/kubespray:v2.23.1
nerdctl save -o quay.io_kubespray_kubespray_v2.23.1.tar quay.io/kubespray/kubespray:v2.23.1
nerdctl load -i quay.io_kubespray_kubespray_v2.23.1.tar 
nerdctl  run --name ansible --network=host  -it -v "$(pwd)"/ansible-playbook:/ansible-playbook -v "${HOME}"/.ssh:/root/.ssh  -v /etc/hosts:/etc/hosts quay.io/kubespray/kubespray:v2.23.1  bash

编排 inventory.ini

$ nerdctl exec -ti ansible vim /ansible-playbook/inventory.ini
[all]
kube-master01 ansible_host=10.70.0.71
kube-master02 ansible_host=10.70.0.72
kube-master03 ansible_host=10.70.0.73
kube-node01 ansible_host=10.70.0.74
kube-node02 ansible_host=10.70.0.75
kube-node03 ansible_host=10.70.0.76

[bastion]
bastion01 ansible_host=10.70.0.78 ansible_user=root

[kube_control_plane]
kube-master01
kube-master02
kube-master03

[etcd]
kube-master01
kube-master02
kube-master03

[kube_node]
kube-node01
kube-node02
kube-node03

[calico_rr]

[k8s_cluster:children]
kube_control_plane
kube_node
calico_rr


$ nerdctl exec -ti ansible ansible -i /ansible-playbook/inventory.ini all -m ping

$ vim /root/.bashrc
alias ansible='nerdctl exec -ti ansible ansible -i /ansible-playbook/inventory.ini'
...

$ source  /root/.bashrc

$ ansible  all -m ping
01-09 18:01