problem with kubeadm-config.yml - apiVersion: kubeadm.k8s.io/v1beta2
MagnaFrisia90 opened this issue · comments
When running the ansible playbook for component pack I am getting an error related to used API version :
TASK [setup-master-node : Initialize master for single node installation] ************************************************************************
fatal: [solcon15.solvito.cloud]: FAILED! => {"changed": true, "cmd": ["kubeadm", "init", "--config=/tmp/k8s_ansible/kubeadm-config.yaml"], "delta": "0:00:00.866046", "end": "2023-02-08 15:55:56.572283", "msg": "non-zero return code", "rc": 1, "start": "2023-02-08 15:55:55.706237", "stderr": "W0208 15:55:56.060972 1960 common.go:83] your configuration file uses a deprecated API spec: "kubeadm.k8s.io/v1beta2". Please use 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.\nerror execution phase preflight: [preflight]
@MagnaFrisia90, the issue sounds very similar to #221 . Could you confirm the playbook you're running is the one described here?
I am not sure what you mean by "here". It jumps directly to "Setting up Component Pack for HCL Connections 8 with its dependencies". But this is not what I am planning.
I am running this command: "ansible-playbook -i environments/examples/cnx7/quick_start/inventory.ini playbooks/setup-component-pack-only.yml" (only want to install Kubernetes with your script)
Inside "setup-component-pack-only.yml" I run
name: Setup Haproxy
import_playbook: third_party/setup-haproxy.ymlname: Setup NFS
import_playbook: third_party/setup-nfs.ymlname: Setup containerd
import_playbook: third_party/setup-containerd.ymlname: Setup Kubernetes
import_playbook: third_party/kubernetes/setup-kubernetes.yml
I'd suggest to clean up the env a bit first:
- uninstall containerd (eg.
sudo yum remove containerd
) - uninstall docker (eg.
sudo yum remove docker-ce
) - run playbook cleanup-k8s.yml
Then run setup-component-pack-infra-only.yml playbook which setup the infrastructure only.
Same issue after manual removal of containerd & running cleanup-k8s
Which version of k8s are you installing ? I had some issues when I tried to install component pack 7 on k8s Version 1.22 and later.... I prefer 1.21.* for CP7
I can not answer this question - I am only running
"ansible-playbook -i environments/examples/cnx7/quick_start/inventory.ini playbooks/setup-component-pack-infra-only.yml"
I assume it picks the correct version automatically
Maybe this is what you asked for ?
[ansible@solcon13 kubernetes]$ cat kubernetes-install/vars/main.yml
__kubernetes_version: "{{ kubernetes_version | default('1.24.1') }}"
But this is nothing I should touch right ? Or can I just modify the value here ?
And how can I decide which Kubernetes version string to use ?
Not sure what was the cause, but I have done following steps & it seems like the issue is solved:
- recreated git repo
- yum remove containerd
- pkill ssh-agent
- rm -Rf /tmp/*
- rm -Rf /etc/containerd
- ansible-playbook -i environments/examples/cnx7/quick_start/inventory.ini playbooks/hcl/cleanup/cleanup-k8s.yml
I now ran into the next problem - which may be discussed in another topic:
TASK [setup-kubectl : Copy .kube to controller] ******************* ******************************************************************* *
fatal: [solcon15.solvito.cloud]: FAILED! => {"changed": false, "cmd ": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh=/u sr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFil e=/dev/null --rsync-path=sudo rsync --out-format=<>%i %n%L solcon15.solvito.cloud:/home/ansible/.kube /tmp/.kube_solcon15.sol vito.cloud", "msg": "Warning: Permanently added 'solcon15.solvito.c loud,172.16.10.107' (ECDSA) to the list of known hosts.\r\nprotocol version mismatch -- is your shell clean?\n(see the rsync man page for an explanation)\nrsync error: protocol incompatibility (code 2) at compat.c(178) [Receiver=3.1.2]\n", "rc": 2}
I still would like to know when to set which kubernetes version inside all.yml ?
maybe you need to set { kubernetes_version: "1.21.4" } in your all.yml
Not sure what was the cause, but I have done following steps & it seems like the issue is solved:
recreated git repo
yum remove containerd
pkill ssh-agent
rm -Rf /tmp/*
rm -Rf /etc/containerd
ansible-playbook -i environments/examples/cnx7/quick_start/inventory.ini playbooks/hcl/cleanup/cleanup-k8s.yml
Good the hear the apiVersion issue is fixed.
The Kubernetes version, if not overridden in all.yml, is set in this file:
I'd recommend to use the default since that's what was tested.