我想使用 Kubespray 在 Oracle Cloud VM 上安装 Kubernetes。我尝试了以下步骤:
apt install python3-pip
git clone https://github.com/kubernetes-sigs/kubespray
cd kubespray
git checkout master #if you want to change version
sudo pip3 install -r requirements.txt
cp -rfp inventory/sample inventory/mycluster
declare -a IPS=(192.168.1.24 192.168.1.25 192.168.1.26)
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
vi inventory/mycluster/hosts.yaml
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml
在 Oracle 云中,每个 VM 都有一个私有 IP(例如 10.0.0.x)和公共 IP(141.147.3.x)。我在 Kubespray 执行期间收到此错误:
fatal: [node1]: FAILED! => {
"assertion": "(ip in ansible_all_ipv4_addresses) or (ip in ansible_all_ipv6_addresses)",
"changed": false,
"evaluated_to": false,
"msg": "IPv4: '['10.0.0.x']' and IPv6: '['........']' do not contain '141.147.3.x'"
}
在集群文件中我有以下配置:
all:
hosts:
node1:
ansible_host: 192.168.1.24
ip: 192.168.1.24
access_ip: 192.168.1.24
node2:
ansible_host: 192.168.1.25
ip: 192.168.1.25
access_ip: 192.168.1.25
node3:
ansible_host: 192.168.1.26
ip: 192.168.1.26
access_ip: 192.168.1.26
children:
kube_control_plane:
hosts:
node1:
kube_node:
hosts:
node2:
node3:
etcd:
hosts:
node1:
node2:
node3:
k8s_cluster:
children:
kube_control_plane:
kube_node:
calico_rr:
hosts: {}
- 这些只是示例 IP
你知道我该如何解决这个问题吗?