我可以将 kubelet 作为基于 kubernetes v1.6.6 的 docker 容器运行吗?如果可以,如何创建镜像或从哪里获取镜像,以及如何运行该镜像?
以下是我的操作,但有一些问题。
Docker文件
来自 i71:5000/ubuntu:14.04
添加 iptables/usr/local/bin/iptables
添加 bin/kubelet/usr/local/bin/kubelet
docker 运行 sh
#!/bin/庆典
docker rm -f $(docker ps -aq --filter "name=kubelet")
docker 运行\
-d\
--重新启动=“总是”\
--net="主机"\
-v/data/kubernetes-cluster/ssl:/data/kubernetes-cluster/ssl\
-v/data/kubernetes-cluster/kube-conf:/data/kubernetes-cluster/kube-conf\
-v/data/kubernetes-cluster/log:/data/kubernetes-cluster/log\
-v/数据/kubelet:/var/lib/kubelet\
-v/etc/本地时间:/etc/本地时间\
-v/var/run/:/var/run/\
-v/var/日志/:/var/日志/\
--特权=真\
--名称 kubelet\
i71:5000/kubelet:v1.6.6\
/usr/本地/bin/kubelet\
--logtostderr=真\
--v=0\
--cgroup-driver=cgroupfs\
--api-servers=http://192.168.0.97:8080\
--docker-endpoint=http://127.0.0.1:4243\
--地址=192.168.0.97\
--hostname-override=192.168.0.97\
--allow-privileged=true\
--pod-infra-container-image=i71:5000/pod-infrastructure:rhel7\
--cluster-dns=10.3.0.2\
--experimental-bootstrap-kubeconfig=/data/kubernetes-cluster/kube-conf/bootstrap.kubeconfig\
--kubeconfig=/data/kubernetes-cluster/kube-conf/kubelet.kubeconfig\
--require-kubeconfig\
--cert-dir=/data/kubernetes-cluster/ssl\
--cluster-domain=cluster.local。\
--发夹模式=混杂桥\
--serialize-image-pulls=false
kubelet 打印这些错误(我的 docker damon pid 是 5140):
E0706 12:11:46.061949 1 container_manager_linux.go:394] 打开/proc/5140/cgroup: 没有这样的文件或目录
E0706 12:11:46.137217 1 container_manager_linux.go:97] 无法确保 docker 进程在所需的容器中运行
E0706 12:16:46.062290 1 container_manager_linux.go:394] 打开/proc/5140/cgroup: 没有这样的文件或目录
E0706 12:16:46.138189 1 container_manager_linux.go:97] 无法确保 docker 进程在所需的容器中运行
如果我执行 volume host dir '/proc',则 docker damon 发生错误。
docker: 来自守护进程的错误响应:oci 运行时错误:container_linux.go:247: 启动容器进程导致“process_linux.go:359: 容器初始化导致\”rootfs_linux.go:54: mounting\\\“/proc\\\”到 rootfs\\\"/data/docker/local-storage/docker/aufs/mnt/6ad53fff3b30e8d709b1be326f5de1314371e174e34806d4d6c6436275b6fbd3\\\"在\\\"/proc\\\"导致\\\"\\\\\\\"/data/docker/local-storage/docker/aufs/mnt/6ad53fff3b30e8d709b1be326f5de1314371e174e34806d4d6c6436275b6fbd3/proc\\\\\\\"无法安装,因为它位于\\\\\\\"/proc\\\\\\\"\\\"\""。
我该怎么办,谁能给我一盏灯?
最佳答案
有一个名为 hyperkube
的官方 docker 镜像,其中包含所有 Kubernetes 二进制文件,请参阅 https://kubernetes.io/docs/getting-started-guides/scratch/#selecting-images
您可以在此处找到有关如何将其用于 kubelet
的示例 systemd 服务:https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase2/ignition/vanilla/kubelet.service
关于kubernetes - 如何将 kubelet 作为 docker 容器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44940661/