-1

我正在运行 kubernetes 1.8.5,想知道是否有办法告诉 Kubelet 在主机上监视 /var/lib/docker 而不是 / 。

4

1 回答 1

0

根据Kubelet 文档页面

除了来自 apiserver 的 PodSpec 之外,还可以通过三种方式将容器清单提供给 Kubelet。

  • 文件:在命令行上作为标志传递的路径。将定期监视此路径下的文件是否有更新。监控周期默认为 20 秒,可通过标志配置。

  • HTTP 端点:在命令行上作为参数传递的 HTTP 端点。该端点每 20 秒检查一次(也可以使用标志进行配置)。

  • HTTP 服务器:kubelet 还可以侦听 HTTP 并响应一个简单的 API(当前未规范)以提交新的清单。

不太清楚你所说的“监控”是什么意思,所以这里列出了 Kubelet 二进制文件中所有与路径相关的命令行参数:

--boot-id-file string要检查引导 ID 的文件的逗号分隔列表。使用第一个存在的。(默认“/proc/sys/kernel/random/boot_id”)

--bootstrap-checkpoint-path string存储检查点的目录的路径

--bootstrap-kubeconfig stringkubeconfig用于获取 kubelet 客户端证书的文件的路径。如果 指定的文件--kubeconfig不存在,kubeconfig则使用引导程序从 API 服务器请求客户端证书。成功后, kubeconfig引用生成的客户端证书和密钥的文件将写入--kubeconfig. 客户端证书和密钥文件将存储在 --cert-dir.

--cert-dir stringTLS 证书所在的目录。如果 提供--tls-cert-file--tls-private-key-file,则此标志将被忽略。(默认/var/lib/kubelet/pki

--cloud-config string云提供商配置文件的路径。

--cni-bin-dir string在其中搜索 CNI 插件二进制文件的目录的完整路径。默认:/opt/cni/bin

--cni-conf-dir string在其中搜索 CNI 配置文件的目录的完整路径。默认:/etc/cni/net.d

--container-hints string容器提示文件的位置(默认/etc/cadvisor/container_hints.json

--docker-tls-ca string可信 CA 的路径(默认ca.pem

--docker-tls-cert string客户端证书的路径(默认 cert.pem

--docker-tls-key string私钥路径(默认key.pem

--dynamic-config-dir stringKubelet 将使用这个目录来检查下载的配置和跟踪配置的健康状况。如果该目录尚不存在,Kubelet 将创建该目录。路径可以是绝对的或相对的;相对路径从 Kubelet 的当前工作目录开始。提供此标志可启用动态 Kubelet 配置。目前,您还必须启用 DynamicKubeletConfig功能门以传递此标志。

--experimental-mounter-path string[实验性] 安装程序二进制文件的路径。留空以使用默认挂载。

--init-config-dir stringKubelet 将在此目录中查找初始化配置。路径可以是绝对的或相对的;相对路径从 Kubelet 的当前工作目录开始。省略此参数以使用内置的默认配置值。目前,您还必须启用KubeletConfigFile功能门以传递此标志。

--kubeconfig stringkubeconfig 文件的路径,指定如何连接到 API 服务器。(默认/var/lib/kubelet/kubeconfig

--lock-file stringkubelet 用作锁定文件的文件路径。

--log-dir string如果非空,则在此目录中写入日志文件

--pod-manifest-path string包含要运行的 pod 清单文件的目录的路径,或单个 pod 清单文件的路径。以点开头的文件将被忽略。

--resolv-conf string解析器配置文件,用作容器 DNS 解析配置的基础。(默认 /etc/resolv.conf

--rkt-path stringrkt 二进制文件的路径。留空以使用 $PATH 中的第一个 rkt。

--root-dir string用于管理 kubelet 文件(卷挂载等)的目录路径。(默认/var/lib/kubelet

--seccomp-profile-root stringseccomp 配置文件的目录路径。(默认/var/lib/kubelet/seccomp

--tls-cert-file string包含用于服务 HTTPS 的 x509 证书的文件(中间证书,如果有,连接在服务器证书之后)。如果未提供--tls-cert-file--tls-private-key-file未提供,则会为公共地址生成自签名证书和密钥,并保存到传递给--cert-dir.

--tls-private-key-file string包含 x509 私钥匹配的文件--tls-cert-file

您可以通过在 Kubelet 启动期间提供带有参数的配置文件来设置 Kubelet 配置。--config

修改现有的 Kubelet 参数(CentOS 示例):

  1. 编辑 /usr/lib/systemd/syste/kubelet.service
  2. 重启 Kubelet:

    systemctl daemon-reload  
    systemctl restart kubelet
    
于 2018-07-13T10:33:04.090 回答