diff --git a/defaults/main.yml b/defaults/main.yml index b357a78..bb91657 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -30,6 +30,11 @@ kubernetes_pod_network: # cidr: '192.168.0.0/16' kubernetes_kubeadm_kubelet_config_file_path: '/etc/kubernetes/kubeadm-kubelet-config.yaml' + +kubernetes_config_kubeadm_apiversion: v1beta4 +kubenetes_config_kubelet_apiversion: v1beta1 +kubernetes_config_kubeproxy_apiversion: v1alpha1 + kubernetes_config_kubelet_configuration: cgroupDriver: "systemd" diff --git a/molecule/default/requirements.yml b/molecule/default/requirements.yml index 8f7dff5..ee02f1a 100644 --- a/molecule/default/requirements.yml +++ b/molecule/default/requirements.yml @@ -1,2 +1,6 @@ --- -- src: geerlingguy.containerd +roles: + - src: geerlingguy.containerd + +collections: + - name: community.general diff --git a/tasks/main.yml b/tasks/main.yml index 3066b2c..b465784 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -8,9 +8,6 @@ - include_tasks: setup-Debian.yml when: ansible_os_family == 'Debian' -- name: Ensure dependencies are installed. - package: name=curl state=present - - name: Install Kubernetes packages. package: name: "{{ item.name | default(item) }}" diff --git a/tasks/sysctl-setup.yml b/tasks/sysctl-setup.yml index d548932..e964b7d 100644 --- a/tasks/sysctl-setup.yml +++ b/tasks/sysctl-setup.yml @@ -16,11 +16,12 @@ - net.ipv4.ip_forward - net.ipv6.conf.all.forwarding -- name: Load module br_netfilter +- name: Ensure module br_netfilter is loaded modprobe: name: br_netfilter state: present persistent: present + when: not ansible_virtualization_type == "docker" # See: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#letting-iptables-see-bridged-traffic - name: Let iptables see bridged traffic. @@ -32,5 +33,6 @@ - net.bridge.bridge-nf-call-iptables - net.bridge.bridge-nf-call-ip6tables when: > - ansible_distribution != 'Debian' - or ansible_distribution_major_version | int < 10 + ( ansible_distribution != 'Debian' + or ansible_distribution_major_version | int < 10 + ) and not ansible_virtualization_type == "docker" diff --git a/templates/kubeadm-kubelet-config.j2 b/templates/kubeadm-kubelet-config.j2 index 6b5c9d5..3f86c17 100644 --- a/templates/kubeadm-kubelet-config.j2 +++ b/templates/kubeadm-kubelet-config.j2 @@ -1,20 +1,20 @@ --- -apiVersion: kubeadm.k8s.io/v1beta4 +apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }} kind: InitConfiguration {{ kubernetes_config_init_configuration | to_nice_yaml }} --- -apiVersion: kubeadm.k8s.io/v1beta4 +apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }} kind: ClusterConfiguration {{ kubernetes_config_cluster_configuration | to_nice_yaml }} {% if kubernetes_config_kubelet_configuration|length > 0 %} --- -apiVersion: kubelet.config.k8s.io/v1beta1 +apiVersion: kubelet.config.k8s.io/{{ kubenetes_config_kubelet_apiversion }} kind: KubeletConfiguration {{ kubernetes_config_kubelet_configuration | to_nice_yaml }} {% endif %} {% if kubernetes_config_kube_proxy_configuration|length > 0 %} --- -apiVersion: kubeproxy.config.k8s.io/v1alpha1 +apiVersion: kubeproxy.config.k8s.io/{{ kubernetes_config_kubeproxy_apiversion }} kind: KubeProxyConfiguration {{ kubernetes_config_kube_proxy_configuration | to_nice_yaml }} {% endif %}