How to add flag to kubelet

这一生的挚爱 提交于 2020-01-06 06:20:33

问题


I want to deploy rook for kubernetes. I use 1 master and 3 worker and the host is ubuntu in baremetal. but the container stuck in creating container. after a lot of search i understand i should use this document https://github.com/rook/rook/blob/master/Documentation/flexvolume.md#most-common-readwrite-flexvolume-path that said

Configuring the Rook operator You must provide the above found FlexVolume path when deploying the rook-operator by setting the environment variable FLEXVOLUME_DIR_PATH. For example:

env: [...] - name: FLEXVOLUME_DIR_PATH value: "/var/lib/kubelet/volumeplugins" (In the operator.yaml manifest replace with the path or if you use helm set the agent.flexVolumeDirPath to the FlexVolume path)

Configuring the Kubernetes kubelet You need to add the flexvolume flag with the path to all nodes's kubelet in the Kubernetes cluster:

--volume-plugin-dir=PATH_TO_FLEXVOLUME (Where the PATH_TO_FLEXVOLUME is the above found FlexVolume path)

the question is how can i add flexvolume flag with the path to all nodes's kubelet ?


回答1:


@yasin lachini,
If you deploy kubernetes cluster on baremetal, you don't need to configure anything. That is because /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ is the kubelet default FlexVolume path and Rook assumes the default FlexVolume path if not set differently.

My env:
rook-ceph/operator.yml (use default 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"
...

After deploy,on node:

# 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



回答2:


There are two options.

I. set

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

within the file

/etc/default/kubelet

And restart kubelete service

sudo systemctl restart kubelet

II. You can set kubelet parameters via a config file.

For example:

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

Then, you just start the Kubelet with the --config flag set to the path of the Kubelet’s config file

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

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



来源:https://stackoverflow.com/questions/55455681/how-to-add-flag-to-kubelet

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!