k0sctl icon indicating copy to clipboard operation
k0sctl copied to clipboard

Cannot create single node cluster - missing CNI config

Open krzwiatrzyk opened this issue 2 years ago • 2 comments

Hello,

I have following K0sctl config:

apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
  name: <name>
spec:
  hosts:
  - role: single
    ssh:
      address: 10.132.120.233
      user: <user>
      port: 22
      keyPath: /<path>
  k0s:
    version: v1.23.6+k0s.1

which generated this K0s config:

 generated-by-k0sctl 2022-05-10T14:40:28+02:00
apiVersion: k0s.k0sproject.io/v1beta1
kind: ClusterConfig
metadata:
  creationTimestamp: null
  name: k0s
spec:
  api:
    address: 10.132.120.233
    k0sApiPort: 9443
    port: 6443
    sans:
    - 10.132.120.233
    - fe80::18f2:79ff:fea4:f98
    - 127.0.0.1
    tunneledNetworkingMode: false
  controllerManager: {}
  extensions:
    helm:
      charts: null
      repositories: null
    storage:
      create_default_storage_class: false
      type: external_storage
  images:
    calico:
      cni:
        image: docker.io/calico/cni
        version: v3.21.2
      kubecontrollers:
        image: docker.io/calico/kube-controllers
        version: v3.21.2
      node:
        image: docker.io/calico/node
        version: v3.21.2
    coredns:
      image: k8s.gcr.io/coredns/coredns
      version: v1.7.0
    default_pull_policy: IfNotPresent
    konnectivity:
      image: quay.io/k0sproject/apiserver-network-proxy-agent
      version: 0.0.30-k0s
    kubeproxy:
      image: k8s.gcr.io/kube-proxy
      version: v1.23.6
    kuberouter:
      cni:
        image: docker.io/cloudnativelabs/kube-router
        version: v1.3.2
      cniInstaller:
        image: quay.io/k0sproject/cni-node
        version: 0.1.0
    metricsserver:
      image: k8s.gcr.io/metrics-server/metrics-server
      version: v0.5.2
  installConfig:
    users:
      etcdUser: etcd
      kineUser: kube-apiserver
      konnectivityUser: konnectivity-server
      kubeAPIserverUser: kube-apiserver
      kubeSchedulerUser: kube-scheduler
  konnectivity:
    adminPort: 8133
    agentPort: 8132
  network:
    calico: null
    dualStack: {}
    kubeProxy:
      mode: iptables
    kuberouter:
      autoMTU: true
      mtu: 0
      peerRouterASNs: ""
      peerRouterIPs: ""
    podCIDR: 10.244.0.0/16
    provider: kuberouter
    serviceCIDR: 10.96.0.0/12
  podSecurityPolicy:
    defaultPolicy: 00-k0s-privileged
  scheduler: {}
  storage:
    etcd:
      externalCluster: null
      peerAddress: 10.132.120.233
    type: etcd
status: {}

and cluster installed with such results with error that (error from kubectl describe node):

│   - lastHeartbeatTime: "2022-05-10T12:47:11Z"                                                                 │
│     lastTransitionTime: "2022-05-10T12:41:32Z"                                                                │
│     message: 'container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady            │
│       message:Network plugin returns error: cni plugin not initialized'                                       │
│     reason: KubeletNotReady                                                                                   │
│     status: "False"                                                                                           │
│     type: Ready   

and as node is not ready, pods cannot be scheduled on it.

krzwiatrzyk avatar May 10 '22 12:05 krzwiatrzyk

I think this can be classified as a duplicate of #384

kke avatar May 11 '22 13:05 kke

And therefore also related: https://github.com/k0sproject/k0s/issues/1707

kke avatar May 11 '22 13:05 kke