From 505ad0f21c0246d73cec5ce35161b3109783c605 Mon Sep 17 00:00:00 2001 From: Michael Swann Date: Mon, 25 Jan 2021 14:15:55 +0200 Subject: [PATCH] Removed containerd tasks and moved them to their own role --- README.md | 5 +++++ defaults/main.yml | 9 +++++++-- handlers/main.yml | 2 -- tasks/containerd.yml | 8 -------- tasks/crictl.yml | 17 ----------------- tasks/main.yml | 12 +++++++----- tasks/setup-Debian.yml | 1 - templates/crictl-config.j2 | 6 ------ templates/kubeadm-config.j2 | 6 +++--- 9 files changed, 22 insertions(+), 44 deletions(-) delete mode 100644 tasks/containerd.yml delete mode 100644 tasks/crictl.yml delete mode 100644 templates/crictl-config.j2 diff --git a/README.md b/README.md index f269f91..f3b2260 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,11 @@ Whether to enable the Kubernetes web dashboard UI (only accessible on the master This role currently supports `flannel` (default), `calico` or `weave` for cluster pod networking. Choose only one for your cluster; converting between them is not done automatically and could result in broken networking; if you need to switch from one to another, it should be done outside of this role. + kubernetes_service_network: + cidr: '10.96.0.0/12' + +The role makes use of a kubeadmn configuration file and you can specify network range you wish to use for service ip addresses. + kubernetes_apiserver_advertise_address: '' kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}' kubernetes_ignore_preflight_errors: 'all' diff --git a/defaults/main.yml b/defaults/main.yml index c671b67..b7946b2 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -12,10 +12,9 @@ kubernetes_packages: kubernetes_version: '1.19' kubernetes_version_rhel_package: '1.19.0' kubernetes_kubeadm_version: 'v1.19.0' -crictl_version: 'v1.19.0' kubernetes_role: master - +kubernetes_cluster_name: mycluster kubernetes_kubelet_extra_args: "" kubernetes_kubeadm_init_extra_opts: "" kubernetes_join_command_extra_opts: "" @@ -32,6 +31,12 @@ kubernetes_pod_network: # cni: 'calico' # cidr: '192.168.0.0/16' +kubernetes_service_network: + cidr: '10.96.0.0/12' + +kubernetes_cri_socket: '/var/run/docker.sock' +# containerd - '/run/containerd/containerd.sock' + kubernetes_apiserver_advertise_address: '' kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}' kubernetes_ignore_preflight_errors: 'all' diff --git a/handlers/main.yml b/handlers/main.yml index afc7a0d..61fc37b 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -2,5 +2,3 @@ - name: restart kubelet service: name=kubelet state=restarted -- name: restart containerd - service: name=containerd state=restarted diff --git a/tasks/containerd.yml b/tasks/containerd.yml deleted file mode 100644 index 33fc1a7..0000000 --- a/tasks/containerd.yml +++ /dev/null @@ -1,8 +0,0 @@ -- name: Create the containerd folder in /etc. - file: - path: /etc/containerd - state: directory - -- name: Generate a containerd config. - shell: containerd config default > /etc/containerd/config.toml - notify: restart containerd \ No newline at end of file diff --git a/tasks/crictl.yml b/tasks/crictl.yml deleted file mode 100644 index c28f75f..0000000 --- a/tasks/crictl.yml +++ /dev/null @@ -1,17 +0,0 @@ -- name: Download crictl tarball - get_url: - url: "https://github.com/kubernetes-sigs/cri-tools/releases/download/{{ crictl_version }}/crictl-{{ crictl_version }}-linux-amd64.tar.gz" - dest: "/tmp/crictl-{{ crictl_version }}-linux-amd64.tar.gz" - -- name: Extract crictl into /usr/local/bin - unarchive: - src: "/tmp/crictl-{{ crictl_version }}-linux-amd64.tar.gz" - dest: /usr/local/bin/crictl - remote_src: yes - mode: 0751 - -- name: Create crictl config - template: - src: crictl-config.j2 - dest: /etc/crictl.yaml - mode: 0644 \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 7579cd9..e8eeeec 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -9,7 +9,9 @@ when: ansible_os_family == 'Debian' - name: Ensure dependencies are installed. - package: name=curl state=present + package: + name: curl + state: present - name: Install Kubernetes packages. package: @@ -20,10 +22,6 @@ - include_tasks: sysctl-setup.yml -- include_tasks: containerd.yml - -- include_tasks: crictl.yml - - include_tasks: kubelet-setup.yml - name: Ensure kubelet is started and enabled at boot. @@ -60,3 +58,7 @@ - include_tasks: node-setup.yml when: kubernetes_role == 'node' + +- name: Pause for 5 minutes while Kubernetes initializes core services + pause: + minutes: 5 diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index a19be5f..4a83a58 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -4,7 +4,6 @@ name: - apt-transport-https - ca-certificates - - containerd state: present - name: Add Kubernetes apt key. diff --git a/templates/crictl-config.j2 b/templates/crictl-config.j2 deleted file mode 100644 index 7c08a98..0000000 --- a/templates/crictl-config.j2 +++ /dev/null @@ -1,6 +0,0 @@ -runtime-endpoint: "unix:///run/containerd/containerd.sock" -image-endpoint: "unix:///run/containerd/containerd.sock" -timeout: 2 -debug: false -pull-image-on-create: false -disable-pull-on-run: false \ No newline at end of file diff --git a/templates/kubeadm-config.j2 b/templates/kubeadm-config.j2 index d48fc3d..21b65df 100644 --- a/templates/kubeadm-config.j2 +++ b/templates/kubeadm-config.j2 @@ -12,7 +12,7 @@ localAPIEndpoint: advertiseAddress: {{ kubernetes_apiserver_advertise_address | default(ansible_default_ipv4.address, true) }} bindPort: 6443 nodeRegistration: - criSocket: /run/containerd/containerd.sock + criSocket: {{ kubernetes_cri_socket }} name: node1 taints: - effect: NoSchedule @@ -23,7 +23,7 @@ kind: ClusterConfiguration apiServer: timeoutForControlPlane: 4m0s certificatesDir: /etc/kubernetes/pki -clusterName: kubernetes +clusterName: {{ kubernetes_cluster_name }} dns: type: CoreDNS etcd: @@ -33,7 +33,7 @@ imageRepository: k8s.gcr.io kubernetesVersion: {{ kubernetes_kubeadm_version }} networking: dnsDomain: cluster.local - serviceSubnet: 10.96.0.0/12 + serviceSubnet: {{ kubernetes_service_network.cidr }} podSubnet: {{ kubernetes_pod_network.cidr }} controllerManager: extraArgs: