Kubernetes 从源代码构建运行Kubeadm
试图使用Kubernetes存储库分支版本1.19中的kubeadm部署k8主节点。在运行Kubernetes 从源代码构建运行Kubeadm,kubernetes,makefile,kubeadm,kubelet,Kubernetes,Makefile,Kubeadm,Kubelet,试图使用Kubernetes存储库分支版本1.19中的kubeadm部署k8主节点。在运行kubeadm init{opts…} kubeadm建议使用apt安装kubeadm、kubectl和kubelet。该指南指出,安装后,“kubelet现在每隔几秒钟就重新启动一次,因为它会在紧急情况下等待kubeadm告诉它该做什么。” 从本地存储库中,我正在使用“全部生成”方法编译Kubernetes二进制文件(kubeadm、kubectl和kubelet)。然后使用exec perms将它们发送
kubeadm init{opts…}
kubeadm建议使用apt安装kubeadm、kubectl和kubelet。该指南指出,安装后,“kubelet现在每隔几秒钟就重新启动一次,因为它会在紧急情况下等待kubeadm告诉它该做什么。”
从本地存储库中,我正在使用“全部生成”方法编译Kubernetes二进制文件(kubeadm、kubectl和kubelet)。然后使用exec perms将它们发送到/usr/local/bin的主节点
由于kubelet未运行/配置,执行kubeadm init失败。但是,从kubelet二进制文件初始化所需的kubelet.service似乎需要我假设kubeadm生成的证书(ca.pem)和配置(kubelet.config.yaml)。因此,关于库比德和库贝莱的鸡蛋情况
那么问题是,apt安装完成了哪些其他配置来初始化kubelet.service?
在kubeadm init之前是否有一个最小的配置和服务模板kubelet可以启动?
kubeadm是否替换预先初始化的kubelet使用的证书
任何帮助/指导都将不胜感激。从源代码构建的在线文档/线程很少对于搜索的任何人,找到了解决方案:
systemctl后台程序重新加载
systemctl启用kubelet--现在
systemctl启动kubelet
简而言之,这在kubeadm初始化之前初始化了kubelet.service systemd流程;使用一些默认/最小配置。然后,kubeadm init在执行时修改进程的配置。当
kubeadm init
失败时,您看到的确切错误消息是什么?
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/home/
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/local/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/default/kubelet
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
ExecStart=
ExecStart=/usr/local/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS