Please enable Javascript to view the contents

Kubernetes 1.6.0 安装问题汇总

 ·  ☕ 1 分钟

1. CNI 问题

错误日志

1
2
journalctl -u kubelet
...Unable to update cni config: No networks found in /etc/cni/net.d

由于没有安装 CNI ,需要移除 /var/lib/kubelet/kubeadm-flags.env 参数中的--network-plugin=cni

1
2
cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd  --pod-infra-container-image=k8s.gcr.io/pause:3.1"

2. 节点 NotReady

节点 NotReady 可能的原因有很多。通常会是网络、容器配置错误导致,需要逐一排查。

这里使用的是 使用 Kubeadm 安装 Kubernetes 集群
文档的安装步骤。

最后分析原因是 Kubelet 的 cgroupDriver 与 Docker 不一致导致 NotReady。

Kubelet 的配置文件在 /var/lib/kubelet/config.yaml 。修改:

1
cgroupDriver: systemd

与 Docker 的配置文件 /etc/docker/daemon.json 一致即可:

1
2
3
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

3. Helm init 找不到请求资源

具体报错信息:

1
2
3
helm init --service-account tiller
...
Error: error installing: the server could not find the requested resource

原因:

helm v2.14.3 不兼容 Kubernetes 1.16.0 的 apiVersion 。

解决办法:

1
helm init --output yaml > tiller.yaml

更新 tiller.yaml 两处:

  • apiVersion 版本
  • 增加选择器
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
apiVersion: apps/v1
kind: Deployment
...
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller

创建 tiller

1
kubectl create -f tiller.yaml

参考链接,Github Issues


微信公众号
作者
微信公众号