Kubernetes Notes
  • README
  • 序:Kubernetes之道
  • 搭建开发环境
    • 搭建本地开发测试环境
  • 基本概念
    • Workloads
      • StatefulSet
    • 认证鉴权
      • 理解证书
      • Kubelet配置
    • 垃圾回收
    • Service
  • 基础组件
    • Scheduler
    • 自动扩缩容(HPA)
  • 容器运行时(Container Runtime)
    • CRI
    • Docker
      • 安装配置Docker
      • Docker FAQ
    • Containerd
  • 资源隔离与限制
    • 基础知识
      • Cgroup
      • Namespaces
    • CPU
    • Memory
    • 网络出/入带宽
    • GPU
    • Container
    • FAQ
  • 网络
    • 基础知识
      • Linux network interfaces
      • Iptables
      • Overlay network
    • CNI
    • Flannel
      • Flannel原理
      • host-gw
      • vxlan
      • ipip
    • Calico
    • Cilium
  • Service Mesh
    • Istio
  • 扩展Kubernetes
    • Admission controller
    • Custom resource definition(CRD)
    • Scheduler extender
    • 扩展资源维度
    • Kubectl plugin
    • Aggregator
    • Device plugin
  • 现网问题
    • Kubernetes
    • ETCD
    • Docker
  • 最佳实践
    • 各组件参数配置调优
    • 各大公司生产环境实践
    • 如何打造一个Kubernetes平台
  • 生产力小工具
    • 生成特定权限和配额的kubeconfig
  • 社区贡献
  • 学习资料
  • 附录:RTFSC
    • Informer
    • Pod deletion
Powered by GitBook
On this page

Was this helpful?

  1. 基本概念
  2. 认证鉴权

Kubelet配置

Previous理解证书Next垃圾回收

Last updated 6 years ago

Was this helpful?

默认情况下,kubelet监听的10250端口没有进行任何认证鉴权,导致通过这个端口可以对kubelet节点上运行的容器进行任何操作,如:curl -k -XPOST "https://k8s-node-1:10250/run/demo-ns/demo-pod/demo" -d "cmd=ls -la /",因此需要配置一些参数防止这种情况发生。

Kubelet支持X509证书认证和API bearer token认证,我们暂且只配置X509证书认证:

  • 给kubelet增加X509证书认证,且禁止匿名访问

    --client-ca-file XXX --anonymous-auth=false

  • 给apiserver增加访问kubelet时的证书,否则apiserver将无法访问kubelet

    --kubelet-client-certificate XXX --kubelet-client-key XXX

参考资料

  • kubelet-exploit:

  • Kubelet authentication/authorization:

  • Master-Node communication:

  • TLS bootstrapping:

  • Kubernetes Security Best-Practices:

https://github.com/kayrus/kubelet-exploit
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/
https://kubernetes.io/docs/concepts/architecture/master-node-communication/
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/
https://dev.to/petermbenjamin/kubernetes-security-best-practices-hlk#network-policies