查看kubelet版本_kubelet 先导篇

  • 作者:二二向箔
  • 链接:https://www.jianshu.com/p/3f29d826a7d8

目录

099afb2d0258b7f8c0525dda41527c8a.png

一. 概述

本文是kubelet源码阅读的先导片,先了解kubelet的主要配置和功能以及一些注意事项,后面走读源码的时候才会更加顺畅,不然一堆 config 的初始化和chan处理,不知道支持哪些新特性,啥场景会用到,看了也没啥意思。

二. 配置方式

2.1 flag 模式

k8s 迭代速度很快,几个月一个大版本,kubelet 的启动参数也在不断变化,一切配置以官方文档为准,或者拿二进制直接--help 看,不然忙活一圈才发现某个特性在当前版本不支持。下面是一份基础可用的kubelet配置,版本 1.8

./kubelet \--address=192.168.5.228 \--allow-privileged=true \--client-ca-file=/etc/kubernetes/pki/ca.pem \--cloud-config=/etc/kubernetes/cloud.config \--cloud-provider=external \--cluster-dns=172.16.0.10 \--cluster-domain=cluster.local \--docker-root=/data/docker \--fail-swap-on=false \--feature-gates=VolumeSnapshotDataSource=true,CSINodeInfo=true,CSIDriverRegistry=true \--hostname-override=192.168.5.228 \--kubeconfig=/etc/kubernetes/kubelet.conf \--logtostderr=true \--network-plugin=kubenet \--max-pods=256 \--non-masquerade-cidr=172.26.0.0/16 \--pod-infra-container-image=hub.docker.com/public/pause:2.0 \--pod-manifest-path=/etc/kubernetes/manifests \--root-dir=/data/kubelet \--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA \--anonymous-auth=false \--v=5 \--enforce-node-allocatable=pods,kube-reserved,system-reserved \--kube-reserved-cgroup=/system.slice/kubelet.service \--system-reserved-cgroup=/system.slice \--kube-reserved=cpu=50m \--system-reserved=cpu=50m \--eviction-hard=memory.available<5%,nodefs.available<10%,imagefs.available<10%% \--eviction-soft=memory.available<10%,nodefs.available<15%,imagefs.available<15%% \--eviction-soft-grace-period=memory.available=2m,nodefs.available=2m,imagefs.available=2m \--eviction-max-pod-grace-period=30 \--eviction-minimum-reclaim=memory.available=0Mi,nodefs.available=500Mi,imagefs.available=500Mi

2.2 config 模式

上面的配置文件是老版本 kubelet(1.10 以前),启动参数都是用 flag 来声明的,简单粗暴,在 1.10 以后,kubelet 支持了KubeletConfiguration的方式来声明参数,如 kubeadm 部署的集群配置如下:

# 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 dynamicallyEnvironmentFile=-/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. Pre
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值