kubernetes-sigs / kubespray

Deploy a Production Ready Kubernetes Cluster
Apache License 2.0
16.18k stars 6.48k forks source link

TASK [kubernetes/kubeadm : Join to cluster #5176

Closed itsecforu closed 4 years ago

itsecforu commented 5 years ago

Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT

Environment:

VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
  config file = /root/kubespray/ansible.cfg
  configured module search path = [u'/root/kubespray/library']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

Copy of your inventory file:

master ansible_host=10.2.67.201 ansible_user=root
worker1 ansible_host=10.2.67.203 ansible_user=root
worker2 ansible_host=10.2.67.205 ansible_user=root
worker3 ansible_host=10.2.67.206 ansible_user=root
#[all:vars]
#ansible_python_interpreter=/usr/bin/python3

[kube-master]
master

[kube-node]
worker1
worker2
worker3

[etcd]
master

[calico-rr]

[k8s-cluster:children]
kube-master
kube-node
calico-rr```

Command used to invoke ansible:

```ansible-playbook -i inventory/mycluster/inventory.ini --become --user=centos --become-user=root cluster.yml```

Output error:

```TASK [kubernetes/kubeadm : Join to cluster] *************************************************************************************************************************************************************************************************
Tuesday 17 September 2019  15:58:18 +0300 (0:00:00.858)       0:05:54.971 *****
fatal: [worker1]: FAILED! => {"changed": true, "cmd": ["timeout", "-k", "120s", "120s", "/usr/local/bin/kubeadm", "join", "--config", "/etc/kubernetes/kubeadm-client.conf", "--ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests"], "delta": "0:01:00.530406", "end": "2019-09-17 15:59:19.247516", "msg": "non-zero return code", "rc": 1, "start": "2019-09-17 15:58:18.717110", "stderr": "\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty\n\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/\nerror execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s", "stderr_lines": ["\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty", "\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/", "error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s"], "stdout": "[preflight] Running pre-flight checks", "stdout_lines": ["[preflight] Running pre-flight checks"]}
fatal: [worker2]: FAILED! => {"changed": true, "cmd": ["timeout", "-k", "120s", "120s", "/usr/local/bin/kubeadm", "join", "--config", "/etc/kubernetes/kubeadm-client.conf", "--ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests"], "delta": "0:01:00.546145", "end": "2019-09-17 15:59:19.308040", "msg": "non-zero return code", "rc": 1, "start": "2019-09-17 15:58:18.761895", "stderr": "\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty\n\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/\nerror execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s", "stderr_lines": ["\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty", "\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/", "error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s"], "stdout": "[preflight] Running pre-flight checks", "stdout_lines": ["[preflight] Running pre-flight checks"]}
fatal: [worker3]: FAILED! => {"changed": true, "cmd": ["timeout", "-k", "120s", "120s", "/usr/local/bin/kubeadm", "join", "--config", "/etc/kubernetes/kubeadm-client.conf", "--ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests"], "delta": "0:01:00.520956", "end": "2019-09-17 15:59:19.313885", "msg": "non-zero return code", "rc": 1, "start": "2019-09-17 15:58:18.792929", "stderr": "\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty\n\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/\nerror execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s", "stderr_lines": ["\t[WARNING DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty", "\t[WARNING IsDockerSystemdCheck]: detected \"cgroupfs\" as the Docker cgroup driver. The recommended driver is \"systemd\". Please follow the guide at https://kubernetes.io/docs/setup/cri/", "error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 1m0s"], "stdout": "[preflight] Running pre-flight checks", "stdout_lines": ["[preflight] Running pre-flight checks"]}

Anything else do we need to know:


● kubelet.service - Kubernetes Kubelet Server
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-09-12 18:26:47 MSK; 4 days ago
     Docs: https://github.com/GoogleCloudPlatform/kubernetes
 Main PID: 7832 (kubelet)
   CGroup: /system.slice/kubelet.service
           ‣ 7832 /usr/local/bin/kubelet --logtostderr=true --v=2 --node-ip=10.2.67.201 --hostname-override=master --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --config=/etc/kubernetes/kubelet-config.yaml --kubeconfig=/etc/kubernetes/kubelet.conf --pod-infra-container-image=gcr.io/google_containers/pause-amd64:3.1 --runtime-cgroups=/systemd/system.slice --node-labels= --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin

Sep 17 16:23:11 master kubelet[7832]: I0917 16:23:11.948920    7832 setters.go:73] Using node IP: "10.2.67.201"
Sep 17 16:23:13 master kubelet[7832]: E0917 16:23:13.532581    7832 pod_workers.go:190] Error syncing pod 74425a16f4d7438817f1ab77e4fa97bb ("kube-controller-manager-master_kube-system(74425a16f4d7438817f1ab77e4fa97bb)"), skipping: failed to "StartContainer" for "kube-controller-manager" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-controller-manager pod=kube-controller-manager-master_kube-system(74425a16f4d7438817f1ab77e4fa97bb)"
Sep 17 16:23:17 master kubelet[7832]: W0917 16:23:17.322867    7832 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {unix:///run/containerd/containerd.sock 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial unix:///run/containerd/containerd.sock: timeout". Reconnecting...
Sep 17 16:23:17 master kubelet[7832]: I0917 16:23:17.322960    7832 balancer_conn_wrappers.go:131] pickfirstBalancer: HandleSubConnStateChange: 0xc0008725c0, TRANSIENT_FAILURE
Sep 17 16:23:17 master kubelet[7832]: I0917 16:23:17.323164    7832 balancer_conn_wrappers.go:131] pickfirstBalancer: HandleSubConnStateChange: 0xc0008725c0, CONNECTING
Sep 17 16:23:17 master kubelet[7832]: E0917 16:23:17.532649    7832 pod_workers.go:190] Error syncing pod ec5d813f-7e7c-4081-989a-e0cf67ed827e ("kubernetes-dashboard-7c547b4c64-6skc7_kube-system(ec5d813f-7e7c-4081-989a-e0cf67ed827e)"), skipping: failed to "StartContainer" for "kubernetes-dashboard" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kubernetes-dashboard pod=kubernetes-dashboard-7c547b4c64-6skc7_kube-system(ec5d813f-7e7c-4081-989a-e0cf67ed827e)"
Sep 17 16:23:18 master kubelet[7832]: W0917 16:23:18.446133    7832 container.go:523] Failed to update stats for container "/kubepods/burstable/pod74425a16f4d7438817f1ab77e4fa97bb/b1d246b1befa8fd6947cdc5d3fc539316fe59aee79c3b628a6bf15791c5f5dda": unable to determine device info for dir: /var/lib/docker/overlay2/b315fb3413a2b8d9ad9c86f5c95e5528ddc0eba0e8d5585bb7d1525402e6b8c0/diff: stat failed on /var/lib/docker/overlay2/b315fb3413a2b8d9ad9c86f5c95e5528ddc0eba0e8d5585bb7d1525402e6b8c0/diff with error: no such file or directory, continuing to push stats
Sep 17 16:23:20 master kubelet[7832]: I0917 16:23:20.040725    7832 prober.go:112] Readiness probe for "coredns-74c9d4d795-dg9x2_kube-system(8d363350-67cb-4a52-b3f1-d0acb728d338):coredns" failed (failure): HTTP probe failed with statuscode: 503
Sep 17 16:23:22 master kubelet[7832]: I0917 16:23:22.048184    7832 setters.go:73] Using node IP: "10.2.67.201"
Sep 17 16:23:27 master kubelet[7832]: E0917 16:23:27.532717    7832 pod_workers.go:190] Error syncing pod 74425a16f4d7438817f1ab77e4fa97bb ("kube-controller-manager-master_kube-system(74425a16f4d7438817f1ab77e4fa97bb)"), skipping: failed to "StartContainer" for "kube-controller-manager" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-controller-manager pod=kube-controller-manager-master_kube-system(74425a16f4d7438817f1ab77e4fa97bb)"

- inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml:

```---
# Kubernetes configuration dirs and system namespace.
# Those are where all the additional config stuff goes
# the kubernetes normally puts in /srv/kubernetes.
# This puts them in a sane location and namespace.
# Editing those values will almost surely break something.
kube_config_dir: /etc/kubernetes
kube_script_dir: "{{ bin_dir }}/kubernetes-scripts"
kube_manifest_dir: "{{ kube_config_dir }}/manifests"

# This is where all the cert scripts and certs will be located
kube_cert_dir: "{{ kube_config_dir }}/ssl"

# This is where all of the bearer tokens will be stored
kube_token_dir: "{{ kube_config_dir }}/tokens"

# This is where to save basic auth file
kube_users_dir: "{{ kube_config_dir }}/users"

kube_api_anonymous_auth: true

## Change this to use another Kubernetes version, e.g. a current beta release
kube_version: v1.15.3

# kubernetes image repo define
kube_image_repo: "gcr.io/google-containers"

# Where the binaries will be downloaded.
# Note: ensure that you've enough disk space (about 1G)
local_release_dir: "/tmp/releases"
# Random shifts for retrying failed ops like pushing/downloading
retry_stagger: 5

# This is the group that the cert creation scripts chgrp the
# cert files to. Not really changeable...
kube_cert_group: kube-cert

# Cluster Loglevel configuration
kube_log_level: 2

# Directory where credentials will be stored
credentials_dir: "{{ inventory_dir }}/credentials"

# Users to create for basic auth in Kubernetes API via HTTP
# Optionally add groups for user
kube_api_pwd: "{{ lookup('password', credentials_dir + '/kube_user.creds length=15 chars=ascii_letters,digits') }}"
kube_users:
  kube:
    pass: "{{kube_api_pwd}}"
    role: admin
    groups:
      - system:masters

## It is possible to activate / deactivate selected authentication methods (basic auth, static token auth)
# kube_oidc_auth: false
# kube_basic_auth: false
# kube_token_auth: false

## Variables for OpenID Connect Configuration https://kubernetes.io/docs/admin/authentication/
## To use OpenID you have to deploy additional an OpenID Provider (e.g Dex, Keycloak, ...)

# kube_oidc_url: https:// ...
# kube_oidc_client_id: kubernetes
## Optional settings for OIDC
# kube_oidc_ca_file: "{{ kube_cert_dir }}/ca.pem"
# kube_oidc_username_claim: sub
# kube_oidc_username_prefix: oidc:
# kube_oidc_groups_claim: groups
# kube_oidc_groups_prefix: oidc:

# Choose network plugin (cilium, calico, contiv, weave or flannel. Use cni for generic cni plugin)
# Can also be set to 'cloud', which lets the cloud provider setup appropriate routing
kube_network_plugin: calico

# Setting multi_networking to true will install Multus: https://github.com/intel/multus-cni
kube_network_plugin_multus: false

# Kubernetes internal network for services, unused block of space.
kube_service_addresses: 10.233.0.0/18

# internal network. When used, it will assign IP
# addresses from this range to individual pods.
# This network must be unused in your network infrastructure!
kube_pods_subnet: 10.233.64.0/18

# internal network node size allocation (optional). This is the size allocated
# to each node on your network.  With these defaults you should have
# room for 4096 nodes with 254 pods per node.
kube_network_node_prefix: 24

# The port the API Server will be listening on.
kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}"
kube_apiserver_port: 6443  # (https)
# kube_apiserver_insecure_port: 8080  # (http)
# Set to 0 to disable insecure port - Requires RBAC in authorization_modes and kube_api_anonymous_auth: true
kube_apiserver_insecure_port: 0  # (disabled)

# Kube-proxy proxyMode configuration.
# Can be ipvs, iptables
kube_proxy_mode: ipvs

# A string slice of values which specify the addresses to use for NodePorts.
# Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32).
# The default empty string slice ([]) means to use all local addresses.
# kube_proxy_nodeport_addresses_cidr is retained for legacy config
kube_proxy_nodeport_addresses: >-
  {%- if kube_proxy_nodeport_addresses_cidr is defined -%}
  [{{ kube_proxy_nodeport_addresses_cidr }}]
  {%- else -%}
  []
  {%- endif -%}

# If non-empty, will use this string as identification instead of the actual hostname
# kube_override_hostname: >-
#   {%- if cloud_provider is defined and cloud_provider in [ 'aws' ] -%}
#   {%- else -%}
#   {{ inventory_hostname }}
#   {%- endif -%}

## Encrypting Secret Data at Rest (experimental)
kube_encrypt_secret_data: false

# DNS configuration.
# Kubernetes cluster name, also will be used as DNS domain
cluster_name: cluster.local
# Subdomains of DNS domain to be resolved via /etc/resolv.conf for hostnet pods
ndots: 2
# Can be coredns, coredns_dual, manual or none
dns_mode: coredns
# Set manual server if using a custom cluster DNS server
# manual_dns_server: 10.x.x.x
# Enable nodelocal dns cache
enable_nodelocaldns: true
nodelocaldns_ip: 169.254.25.10
nodelocaldns_health_port: 9254
# Enable k8s_external plugin for CoreDNS
enable_coredns_k8s_external: false
coredns_k8s_external_zone: k8s_external.local
# Enable endpoint_pod_names option for kubernetes plugin
enable_coredns_k8s_endpoint_pod_names: false

# Can be docker_dns, host_resolvconf or none
resolvconf_mode: docker_dns
# Deploy netchecker app to verify DNS resolve as an HTTP service
deploy_netchecker: false
# Ip address of the kubernetes skydns service
skydns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(3)|ipaddr('address') }}"
skydns_server_secondary: "{{ kube_service_addresses|ipaddr('net')|ipaddr(4)|ipaddr('address') }}"
dns_domain: "{{ cluster_name }}"

## Container runtime
## docker for docker, crio for cri-o and containerd for containerd.
container_manager: docker

## Settings for containerized control plane (etcd/kubelet/secrets)
etcd_deployment_type: docker
kubelet_deployment_type: host
helm_deployment_type: host

# Enable kubeadm experimental control plane
kubeadm_control_plane: false
kubeadm_certificate_key: "{{ lookup('password', credentials_dir + '/kubeadm_certificate_key.creds length=64 chars=hexdigits') | lower }}"

# K8s image pull policy (imagePullPolicy)
k8s_image_pull_policy: IfNotPresent

# audit log for kubernetes
kubernetes_audit: false

# dynamic kubelet configuration
dynamic_kubelet_configuration: false

# define kubelet config dir for dynamic kubelet
# kubelet_config_dir:
default_kubelet_config_dir: "{{ kube_config_dir }}/dynamic_kubelet_dir"
dynamic_kubelet_configuration_dir: "{{ kubelet_config_dir | default(default_kubelet_config_dir) }}"

# pod security policy (RBAC must be enabled either by having 'RBAC' in authorization_modes or kubeadm enabled)
podsecuritypolicy_enabled: false

# Make a copy of kubeconfig on the host that runs Ansible in {{ inventory_dir }}/artifacts
# kubeconfig_localhost: false
# Download kubectl onto the host that runs Ansible in {{ bin_dir }}
# kubectl_localhost: false

#  Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created. (default true)
# kubelet_cgroups_per_qos: true

# A comma separated list of levels of node allocatable enforcement to be enforced by kubelet.
# Acceptable options are 'pods', 'system-reserved', 'kube-reserved' and ''. Default is "".
# kubelet_enforce_node_allocatable: pods

## Optionally reserve resources for OS system daemons.
# system_reserved: true
## Uncomment to override default values
# system_memory_reserved: 512M
# system_cpu_reserved: 500m
## Reservation for master hosts
# system_master_memory_reserved: 256M
# system_master_cpu_reserved: 250m

# An alternative flexvolume plugin directory
# kubelet_flexvolumes_plugins_dir: /usr/libexec/kubernetes/kubelet-plugins/volume/exec

## Supplementary addresses that can be added in kubernetes ssl keys.
## That can be useful for example to setup a keepalived virtual IP
# supplementary_addresses_in_ssl_keys: [10.0.0.1, 10.0.0.2, 10.0.0.3]

## Running on top of openstack vms with cinder enabled may lead to unschedulable pods due to NoVolumeZoneConflict restriction in kube-scheduler.
## See https://github.com/kubernetes-sigs/kubespray/issues/2141
## Set this variable to true to get rid of this issue
volume_cross_zone_attachment: false
# Add Persistent Volumes Storage Class for corresponding cloud provider ( OpenStack is only supported now )
persistent_volumes_enabled: false

## Container Engine Acceleration
## Enable container acceleration feature, for example use gpu acceleration in containers
# nvidia_accelerator_enabled: true
## Nvidia GPU driver install. Install will by done by a (init) pod running as a daemonset.
## Important: if you use Ubuntu then you should set in all.yml 'docker_storage_options: -s overlay2'
## Array with nvida_gpu_nodes, leave empty or comment if you dont't want to install drivers.
## Labels and taints won't be set to nodes if they are not in the array.
# nvidia_gpu_nodes:
#   - kube-gpu-001
# nvidia_driver_version: "384.111"
## flavor can be tesla or gtx
# nvidia_gpu_flavor: gtx
## NVIDIA driver installer images. Change them if you have trouble accessing gcr.io.
# nvidia_driver_install_centos_container: atzedevries/nvidia-centos-driver-installer:2
# nvidia_driver_install_ubuntu_container: gcr.io/google-containers/ubuntu-nvidia-driver-installer@sha256:7df76a0f0a17294e86f691c81de6bbb7c04a1b4b3d4ea4e7e2cccdc42e1f6d63
## NVIDIA GPU device plugin image.
# nvidia_gpu_device_plugin_container: "k8s.gcr.io/nvidia-gpu-device-plugin@sha256:0842734032018be107fa2490c98156992911e3e1f2a21e059ff0105b07dd8e9e"
[root@master kubespray]# ---
-bash: ---: command not found
kube_token_dir: "{{ kube_config_dir }}/tokens"

# This is where to save basic auth file
kube_users_dir: "{{ kube_config_dir }}/users"

kube_api_anonymous_auth: true```
majulong commented 5 years ago

the same issue, have you fix this problem? @itsecforu

itsecforu commented 5 years ago

@majulong Hey! what Docker version do u use?

majulong commented 5 years ago

default are the kubespray given

docker version Client: Docker Engine - Community Version: 19.03.2 API version: 1.39 (downgraded from 1.40) Go version: go1.12.8 Git commit: 6a30dfc Built: Thu Aug 29 05:28:55 2019 OS/Arch: linux/amd64 Experimental: false

Server: Docker Engine - Community Engine: Version: 18.09.7 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 2d0083d Built: Thu Jun 27 17:26:28 2019 OS/Arch: linux/amd64 Experimental: false

itsecforu commented 5 years ago

I manually installed docker 18.06 (docker-ce-18.06.2.ce) as I saw here:

https://kubernetes.io/docs/setup/production-environment/container-runtimes/

Paxa commented 4 years ago

Did it resolve the issue when use docker 18.06?

itsecforu commented 4 years ago

Did it resolve the issue when use docker 18.06?

Aga

mreza66 commented 4 years ago

hello every body help me.I want runnig kuebernetes dashboard, but show this error :: Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "3b35756d8ca381a6392a1134bd866ea7e668c85139166076248ccb03502dde21" network for pod "dashboard-metrics-scraper-76585494d8-7z5r8": networkPlugin cni failed to set up pod "dashboard-metrics-scraper-76585494d8-7z5r8_kubernetes-dashboard" network: stat /etc/kubernetes/ssl/kubecfg-kube-node.yaml: no such file or directory

ServerNinja commented 4 years ago

I may have found a fix for this specific issue. Seems to some issues with how /etc/systemd/system/docker.service.d/docker-options.conf is being created. It should be setting --exec-opt native.cgroupdriver=systemd in there for any system that uses systemd as its init system. This is why the kubernetes join fails because docker is trying to use cgroups instead of systemd and it doesn't approve of that configuration.

I'm going to try to submit a PR soon to show how I was able to get past this error. I've tested in Ubuntu 18.04. I just need to read the docs on submitting PRs for the first time as i've not worked with this repo before.

damianknopp commented 4 years ago

I am seeing failures and this message as well

[WARNING IsDockerSystemdCheck]: detected \“cgroupfs\” as the Docker cgroup driver. The recommended driver is \“systemd\“.

I was able to make the message go away by changing two params. And this did not require a PR @ServerNinja, I looked at your PR, do you think these two variables cover the changes you are looking for?

In the inventory.ini;

[all:vars]
kubelet_cgroup_driver="systemd"

In group_vars/all/docker.yml; Notice the space at the end of the line

docker_options: >-
    --exec-opt native.cgroupdriver=systemd 

Still I am having some other networking issue even after the change

Feb 28 03:48:44 master1 kubelet[22331]: W0228 03:48:44.051330   22331 cni.go:237] Unable to update cni config: no networks found in /etc/cni/net.d
Feb 28 03:48:44 master1 kubelet[22331]: E0228 03:48:44.115156   22331 kubelet.go:2267] node "master-dummy" not found
Feb 28 03:48:44 master1 kubelet[22331]: E0228 03:48:44.198037   22331 eviction_manager.go:246] eviction manager: failed to get summary stats: failed to get node info: node "master-dummy" not found

Versions

Kubespray tag: v2.12.1 Kubernetes: v1.15.7 Ubuntu: 18.04.4 LTS cloud_provider: aws Client: Docker Engine - Community Version: 19.03.6 API version: 1.39 (downgraded from 1.40) Go version: go1.12.16 Git commit: 369ce74a3c Built: Thu Feb 13 01:27:49 2020 OS/Arch: linux/amd64 Experimental: false

Server: Docker Engine - Community Engine: Version: 18.09.7 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 2d0083d Built: Thu Jun 27 17:23:02 2019 OS/Arch: linux/amd64 Experimental: false

SomniVertix commented 4 years ago

I tried the instructions above and it didn't work for me. Still getting the same error

Edit: I'm dumb, I didn't turn the firewall off on my nodes so this happened. After turning the firewall off/adding the correct firewall allow rules it worked :+1:

fejta-bot commented 4 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

fejta-bot commented 4 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

fejta-bot commented 4 years ago

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /close

k8s-ci-robot commented 4 years ago

@fejta-bot: Closing this issue.

In response to [this](https://github.com/kubernetes-sigs/kubespray/issues/5176#issuecomment-674338056): >Rotten issues close after 30d of inactivity. >Reopen the issue with `/reopen`. >Mark the issue as fresh with `/remove-lifecycle rotten`. > >Send feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta). >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.