在 ubuntu 16.04 中安装和 运行 kubeadm

install and run kubeadm in ubuntu 16.04

我正在使用 ubuntu 16.04,我是新手 k8s。

我正在关注这个官方文档。 https://kubernetes.io/docs/setup/independent/install-kubeadm/

# apt-get update
# apt-get install -y docker.io
# apt-get update && apt-get install -y apt-transport-https
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
# apt-get update
# apt-get install -y kubelet kubeadm kubectl
# docker info | grep -i cgroup
Cgroup Driver: cgroupfs
WARNING: No swap limit support

没问题。

但是在"Configure cgroup driver used by kubelet on Master Node"部分,

在我的 10-kubeadm.conf 文件中, 没有 cgroup 消息,所以我不能使用 sed 命令。 sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

# cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS

我应该在文件中添加 Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs" 行吗?

不,如果配置文件中没有该选项,则不必将该选项添加到配置中。

这是可选参数。只需确保如果它存在,它与 Docker 的 Cgroup Driver 相同。