diff --git a/cluster.yml b/cluster.yml index 14a4a6d373a62a692c0ec6abcac0127727dd6ab1..4fc852d973df5e0000987ef56d03fd9e8ce4fe1e 100644 --- a/cluster.yml +++ b/cluster.yml @@ -33,8 +33,8 @@ roles: - { role: kubespray-defaults} - { role: kubernetes/preinstall, tags: preinstall } - - { role: docker, tags: docker, when: manage_docker|default(true) } - - { role: cri-o, tags: crio, when: manage_crio } + - { role: docker, tags: docker, when: container_manager == 'docker' } + - { role: cri-o, tags: crio, when: container_manager == 'crio' } - role: rkt tags: rkt when: "'rkt' in [etcd_deployment_type, kubelet_deployment_type, vault_deployment_type]" diff --git a/docs/cri-o.md b/docs/cri-o.md index ef37d7a7f81c5e104d0418d5df8ff0efa4e3b92e..796b7513a1f71c5dae90da462bd8ac6da9aff458 100644 --- a/docs/cri-o.md +++ b/docs/cri-o.md @@ -26,7 +26,6 @@ skip_downloads: false ``` etcd_deployment_type: host kubelet_deployment_type: host -manage_docker: false -manage_crio: true +container_manager: crio ``` diff --git a/inventory/sample/group_vars/k8s-cluster.yml b/inventory/sample/group_vars/k8s-cluster.yml index 627b92e72a5e202e187054bb36181518777ec1bf..eb1d01cb9a8b929aedb5a58ab09af79b64567a60 100644 --- a/inventory/sample/group_vars/k8s-cluster.yml +++ b/inventory/sample/group_vars/k8s-cluster.yml @@ -135,13 +135,9 @@ skydns_server_secondary: "{{ kube_service_addresses|ipaddr('net')|ipaddr(4)|ipad dnsmasq_dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(2)|ipaddr('address') }}" dns_domain: "{{ cluster_name }}" -# Use docker as container runtime -# If you set manage_crio true, set manage_docker false. -manage_docker: true - -# Use cri-o as container runtime -# If you set manage_docker true, set manage_crio false. -manage_crio: false +# Container runtime +# docker for docker and crio for cri-o. +container_manager: docker # Path used to store Docker data docker_daemon_graph: "/var/lib/docker" diff --git a/roles/kubernetes/kubeadm/templates/kubeadm-client.conf.v1alpha2.j2 b/roles/kubernetes/kubeadm/templates/kubeadm-client.conf.v1alpha2.j2 index 1b0ab9c40dbba0afe2ce503618dccc30531191c7..35ed7a3e6318a4d061f389206983b8f181d155e1 100644 --- a/roles/kubernetes/kubeadm/templates/kubeadm-client.conf.v1alpha2.j2 +++ b/roles/kubernetes/kubeadm/templates/kubeadm-client.conf.v1alpha2.j2 @@ -15,6 +15,6 @@ discoveryTokenAPIServers: discoveryTokenUnsafeSkipCAVerification: true nodeRegistration: name: {{ inventory_hostname }} -{% if manage_crio %} +{% if container_manager == 'crio' %} criSocket: /var/run/crio/crio.sock {% endif %} diff --git a/roles/kubernetes/master/templates/kubeadm-config.v1alpha2.yaml.j2 b/roles/kubernetes/master/templates/kubeadm-config.v1alpha2.yaml.j2 index 4ee15a181bbe7ff99d7ddefcc2a6bbb884e90b9b..3f123b24db4ab406d7526dfa7c4c3121d645195d 100644 --- a/roles/kubernetes/master/templates/kubeadm-config.v1alpha2.yaml.j2 +++ b/roles/kubernetes/master/templates/kubeadm-config.v1alpha2.yaml.j2 @@ -138,6 +138,6 @@ nodeRegistration: taints: - effect: NoSchedule key: node-role.kubernetes.io/master -{% if manage_crio %} +{% if container_manager == 'crio' %} criSocket: /var/run/crio/crio.sock {% endif %} diff --git a/roles/kubernetes/node/templates/kubelet.kubeadm.env.j2 b/roles/kubernetes/node/templates/kubelet.kubeadm.env.j2 index b2a27d58c68df804a876a1ae504732e31102de61..7597fd9ae44266ff0ae71b3dd4a7c4cfaa9b3f84 100644 --- a/roles/kubernetes/node/templates/kubelet.kubeadm.env.j2 +++ b/roles/kubernetes/node/templates/kubelet.kubeadm.env.j2 @@ -34,10 +34,10 @@ KUBELET_HOSTNAME="--hostname-override={{ kube_override_hostname }}" --node-status-update-frequency={{ kubelet_status_update_frequency }} \ --cgroup-driver={{ kubelet_cgroup_driver|default(kubelet_cgroup_driver_detected) }} \ --max-pods={{ kubelet_max_pods }} \ -{% if manage_docker %} +{% if container_manager == 'docker' %} --docker-disable-shared-pid={{ kubelet_disable_shared_pid }} \ {% endif %} -{% if manage_crio %} +{% if container_manager == 'crio' %} --container-runtime=remote \ --container-runtime-endpoint=/var/run/crio/crio.sock \ {% endif %} diff --git a/roles/kubernetes/node/templates/kubelet.standard.env.j2 b/roles/kubernetes/node/templates/kubelet.standard.env.j2 index 0c5dd0122c9859b8cb6ac5d477e6b90c7efa97ca..ae4654424be1f2a31c068831396a3042301c03e3 100644 --- a/roles/kubernetes/node/templates/kubelet.standard.env.j2 +++ b/roles/kubernetes/node/templates/kubelet.standard.env.j2 @@ -15,7 +15,7 @@ KUBELET_HOSTNAME="--hostname-override={{ kube_override_hostname }}" --cadvisor-port={{ kube_cadvisor_port }} \ --pod-infra-container-image={{ pod_infra_image_repo }}:{{ pod_infra_image_tag }} \ --node-status-update-frequency={{ kubelet_status_update_frequency }} \ -{% if manage_docker %} +{% if container_manager == 'docker' %} --docker-disable-shared-pid={{ kubelet_disable_shared_pid }} \ {% endif %} --client-ca-file={{ kube_cert_dir }}/ca.pem \ @@ -28,7 +28,7 @@ KUBELET_HOSTNAME="--hostname-override={{ kube_override_hostname }}" {% if kube_version | version_compare('v1.7', '<') %} --enable-cri={{ kubelet_enable_cri }} \ {% endif %} -{% if manage_crio %} +{% if container_manager == 'crio' %} --container-runtime=remote \ --container-runtime-endpoint=/var/run/crio/crio.sock \ {% endif %} diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml index c676598bc0c7bbe929a559d9f9e5e267b7a7b876..54986fe253401f56c004165cc065ac7c48c85bca 100644 --- a/roles/kubespray-defaults/defaults/main.yaml +++ b/roles/kubespray-defaults/defaults/main.yaml @@ -131,13 +131,8 @@ kube_apiserver_insecure_port: 8080 # Aggregator kube_api_aggregator_routing: false -# Docker options -# Optionally do not run docker role -manage_docker: true - -# cri-o options -# Optionally run cri-o role -manage_crio: false +# Container for runtime +container_manager: docker # Path used to store Docker data docker_daemon_graph: "/var/lib/docker" diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml index 9c0d994f54ed9978230c1bc0a9a35180e829ec01..88dec8d7a5ae74e2a7b1e97208ad94cf83dc1bfc 100644 --- a/roles/reset/tasks/main.yml +++ b/roles/reset/tasks/main.yml @@ -68,7 +68,7 @@ delay: 5 tags: - crio - when: manage_crio + when: container_manager == 'crio' - name: reset | gather mounted kubelet dirs shell: mount | grep /var/lib/kubelet/ | awk '{print $3}' | tac diff --git a/scale.yml b/scale.yml index ff027d6c077acddaaf8ec67c45d1a7ebac2fc3d4..c4cd117f00cd07cd3ffcccda8787c9cb7554b14f 100644 --- a/scale.yml +++ b/scale.yml @@ -35,8 +35,9 @@ roles: - { role: kubespray-defaults} - { role: kubernetes/preinstall, tags: preinstall } - - { role: docker, tags: docker, when: manage_docker|default(true) } - - { role: cri-o, tags: crio, when: manage_crio } + + - { role: docker, tags: docker, when: container_manager == 'docker' } + - { role: cri-o, tags: crio, when: container_manager == 'crio' } - role: rkt tags: rkt when: "'rkt' in [etcd_deployment_type, kubelet_deployment_type, vault_deployment_type]" diff --git a/upgrade-cluster.yml b/upgrade-cluster.yml index 4e4cfb654f66961e11583be037ce813db00016ea..7d8534d782c82a7e2d64ef0613b13c9f7b003ae0 100644 --- a/upgrade-cluster.yml +++ b/upgrade-cluster.yml @@ -34,8 +34,8 @@ roles: - { role: kubespray-defaults} - { role: kubernetes/preinstall, tags: preinstall } - - { role: docker, tags: docker, when: manage_docker|default(true) } - - { role: cri-o, tags: crio, when: manage_crio } + - { role: docker, tags: docker, when: container_manager == 'docker' } + - { role: cri-o, tags: crio, when: container_manager == 'crio' } - role: rkt tags: rkt when: "'rkt' in [etcd_deployment_type, kubelet_deployment_type, vault_deployment_type]"