【问题标题】:How to add flag to kubelet如何向 kubelet 添加标志
【发布时间】:2019-08-22 15:39:41
【问题描述】:

我想为 Kubernetes 部署 rook。我使用 1 个 master 和 3 个 worker,主机是裸机中的 ubuntu。但容器卡在创建容器中。经过大量搜索,我明白我应该使用这个文档https://github.com/rook/rook/blob/master/Documentation/flexvolume.md#most-common-readwrite-flexvolume-path

配置 Rook 算子你必须提供上面找到的 通过设置部署 rook-operator 时的 FlexVolume 路径 环境变量 FLEXVOLUME_DIR_PATH。例如:

环境:[...] - 名称:FLEXVOLUME_DIR_PATH 值:“/var/lib/kubelet/volumeplugins”(在 operator.yaml 清单中替换为 路径,或者如果您使用 helm 将 agent.flexVolumeDirPath 设置为 FlexVolume 路径)

配置 Kubernetes kubelet 你需要添加 flexvolume 标志 包含 Kubernetes 集群中所有节点的 kubelet 的路径:

--volume-plugin-dir=PATH_TO_FLEXVOLUME(其中 PATH_TO_FLEXVOLUME 是上面找到的 FlexVolume 路径)

问题是如何在所有节点的 kubelet 路径中添加 flexvolume 标志?

【问题讨论】:

    标签: kubernetes kubernetes-rook


    【解决方案1】:

    有两种选择。

    。设置

    KUBELET_EXTRA_ARGS=--FLEXVOLUME_DIR_PATH=/var/lib/kubelet/volumeplugins
    

    在文件中

    /etc/default/kubelet
    

    并重启kubelete服务

    sudo systemctl restart kubelet
    

    。您可以通过配置文件设置 kubelet 参数。

    例如:

    kind: KubeletConfiguration
    apiVersion: kubelet.config.k8s.io/v1beta1
    env:
    - name: FLEXVOLUME_DIR_PATH
      value: "/var/lib/kubelet/volumeplugins"
    

    然后,您只需将 --config 标志设置为 Kubelet 配置文件的路径即可启动 Kubelet

    sudo kubelet --config=/etc/default/kubelet/custom-conf.config
    

    https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/

    【讨论】:

    • 我没有 /etc/default/kubelet
    • 你知道rook吗?
    • @yasinlachini 文件应该在您的主节点上。我对rook不熟悉,抱歉
    • 我在 master 中检查它并且 /etc/default/kubelet 不存在
    • 你使用什么版本的 kubelet?​​
    【解决方案2】:

    @yasin lachini,
    如果你在裸机上部署 kubernetes 集群,你不需要配置任何东西。这是因为 /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ 是 kubelet 默认的 FlexVolume 路径,如果没有进行不同的设置,Rook 会假定默认的 FlexVolume 路径。

    我的环境:
    rook-ceph/operator.yml(使用默认的 FLEXVOLUME_DIR_PATH):

    ...
            # Set the path where the Rook agent can find the flex volumes
            # - name: FLEXVOLUME_DIR_PATH
            #   value: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec"
    ...
    

    部署后,在节点上:

    # ls /usr/libexec/kubernetes/kubelet-plugins/volume/exec/
    ceph.rook.io~rook  ceph.rook.io~rook-ceph-system  rook.io~rook  rook.io~rook-ceph-system
    

    【讨论】:

    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2022-01-14
    • 2016-07-12
    • 2013-04-11
    • 2019-01-01
    相关资源
    最近更新 更多