首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Kubernetes(k8s)-node组件介绍

Kubernetes(k8s)-node组件介绍

作者头像
运维小路
发布2024-12-27 20:49:27
发布2024-12-27 20:49:27
4110
举报
文章被收录于专栏:运维小路运维小路

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

我们在上小节介绍了master上的4个核心组件,这4个核心组件都是以静态pod方式存在的。也只有这几个是以静态的pod,其他的组件则是以其他方式运行的

1.Kubelet:是 Kubernetes Agent,负责与 Master 节点通信并管理 Node 上的容器操作。它监控和报告 Node 上的容器状态,执行容器的创建、启动、停止等操作。

kubelet是我们在部署k8s的时候通过yum 直接安装的,所以kubelet是二进制方式运行的。

代码语言:javascript
复制
[root@master01 kubelet]# cat /var/lib/kubelet/config.yaml 
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
cgroupDriver: systemd
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
logging:
  flushFrequency: 0
  options:
    json:
      infoBufferSize: "0"
  verbosity: 0
memorySwap: {}
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
rotateCertificates: true
runtimeRequestTimeout: 0s
shutdownGracePeriod: 0s
shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s

kubelet涉及的配置比较多,而且也不仅仅包含这一个文件,这里只列举了比较重要的配置文件。

2.Kube-Proxy:负责网络代理和负载均衡,处理集群内部和集群外部的网络流量转发。它维护了集群内部的网络规则和服务发现,使得容器能够相互通信和访问集群内外的服务。

Kube-Proxy通过kubeadm方式部署的话,目前部署方式是通过DaemonSet资源。DaemonSet确保在每个节点上运行一个kube-proxy实例。这样我们只需要配置一次,后续无法是增加节点还是减少节点均不需要关注。

如果是以iptables作为网络模式,则Kube-Proxy的作用就是维持节点的iptables规则,理论上所有节点的iptables的规则都是相同的,在日常运维中也出现过iptables规则异常,通过删除kube-porxy的pod触发重新创建恢复规则。

这里的node主要是跑业务容器,所以只介绍了2个比较核心组件,其实这2个组件在master节点也有(master也是一个特殊节点),kubelet主要用于pod的生命周期管理,kube-proxy则是为了提供svc的通信(pod的跨主机通信不依赖kube-proxy),它依赖的是网络插件。

3.架构

这里的每一条线都是https通信,而且是双向证书,和传统的https通讯单向证书还不太一样,这个也是k8s的核心之一。

这里还多延申了一个控制器,是因为官方的控制器并不能满足所有业务需求,所以这里引入了第三方控制器,用于控制一些第三方资源。在各个云厂商有很多产品,很多都会以k8s作为了标准底座,所以就会很多类似的第三方控制器,也是k8s的的一个发展方向。

到这里我们对整个集群都有一定的认识,后面我们讲整个k8s的里面涉及打概念进行进一步的讲解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档