首页 > 其他分享 >在K8S中,worke节点启动阶段包括什么?

在K8S中,worke节点启动阶段包括什么?

时间:2024-02-27 09:27:09浏览次数:26  
标签:容器 Kubernetes 启动 worke kubelet Pod K8S 节点

在Kubernetes(K8S)中,Worker节点启动阶段大致包括以下几个关键步骤:

  1. 系统初始化

    • Worker节点操作系统启动,加载基础系统服务和配置。
    • 安装必备软件,如Docker或containerd作为容器运行时环境。
  2. kubelet启动

    • kubelet是Kubernetes在每个节点上的代理程序,它会在启动时加载其配置文件(通常位于 /var/lib/kubelet/config.yaml/etc/kubernetes/kubelet.conf 等位置),该配置文件包含API服务器地址、节点标识和认证凭据等信息。
    • kubelet开始与Master节点上的API服务器建立连接,定期发送节点状态心跳,并监听API服务器下发的Pod调度指令。
  3. kubelet配置Pod网络

    • 根据集群配置,kubelet可能需要配置CNI(Container Network Interface)插件,为Pod分配网络接口和IP地址。
  4. kube-proxy启动

    • kube-proxy同样是每个节点上的一个重要组件,它启动后会监听API服务器的Endpoint和Service信息,动态配置本地网络规则(如iptables或IPVS规则),以实现Kubernetes服务发现和负载均衡功能。
  5. 容器运行时启动

    • kubelet通过与容器运行时(如Docker或containerd)交互,开始下载并启动Pod定义中的容器镜像。
  6. Pod启动

    • kubelet根据接收到的Pod规格(Specs)创建Pod,其中包括创建容器、设置容器的环境变量、挂载卷等操作。
    • 完成容器启动后,kubelet持续监控Pod和容器的运行状态,确保Pod按预期运行,并在出现故障时进行自我修复或重启。
  7. 节点就绪

    • 当kubelet成功启动并验证所有必需的Pod(例如kube-proxy自身和可能的系统守护进程容器)都处于Running和Ready状态时,它会将节点报告给Master节点,使其在集群中显示为Ready状态,进而可以接收调度器安排的新Pod。

综上所述,通过以上步骤,Worker节点完成启动阶段并进入服务阶段,开始为Kubernetes集群提供计算资源和运行Pod的能力。

标签:容器,Kubernetes,启动,worke,kubelet,Pod,K8S,节点
From: https://www.cnblogs.com/huangjiabobk/p/18036125

相关文章

  • 在K8S中,如何查看Pod中某个容器日志?
    在Kubernetes(K8s)中,若要查看Pod中某个容器的日志,可以使用kubectllogs命令,并通过-c或--container参数指定容器名称。以下是命令格式:kubectllogs<pod_name>-c<container_name>这里的<pod_name>是你想要查看日志的Pod名称,而<container_name>则是你具体想要......
  • 在K8S中,svc关联pod失败原因有哪些?
    在Kubernetes(K8S)中,Service(svc)与Pod关联失败的原因可能有多种。以下是一些常见的原因:网络问题:kube-proxy配置问题:如果kube-proxy没有正确配置或未开启masquerade,可能导致Pod发出的包无法被正确伪装成Service的IP和MAC地址,从而导致Service无法与Pod关联。网络策略限制:如果启用......
  • 在K8S中,如何知道Pod的数据存储在哪里?
    在Kubernetes(K8S)中,Pod的数据存储位置主要取决于Pod中容器挂载的卷(volume)。Pod的数据存储可以通过多种方式在Kubernetes集群中持久化或临时存储,以下是如何确定Pod数据存储位置的方法:查看PodYAML配置:检查Pod的YAML定义文件,可以明确看到容器挂载的卷类型和挂载路径。例如,查......
  • K8S 陈述式资源管理方法
    K8S陈述式资源管理方法.kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口2.kubectl是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径3.ku......
  • 代码随想录 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.0
    LeetCode:24.两两交换链表中的节点-力扣(LeetCode)思路:第一步:两两交换要考虑循环什么时候退出,当cur指针.next是null是就到尾部了,同理,链表不是奇数就是偶数,cur.next.next是空也是。第二步循环条件判断完了接下来要实现交换,如图所示,按步骤来就好,提前将1,2,3存好,接下来按图......
  • k8s Rollout命令
    k8s支持deployment的回滚Deployment是一种声明式的定义形式Replicaset是最直接管理Pod的资源形式通过yaml文件定义一个deployment会生成一个replicaset控制器,RS控制器会根据模板来创建PodDeployment相较于RS支持回滚和滚动升级#ReplicaSet是kubernetes中的一种副本控制器......
  • 部署K8S-1-26
    DEVops入门1部署K8S1.1节点准备节点名ip功能k8s-master10.0.0.153k8s-node110.0.0.154k8s-node210.0.0.1551.2初始操作在所有节点执行#1关闭防火墙systemctldisablefirewalldsystemctlstopfirewalldfirewall-cmd--state#2关闭seli......
  • 部署K8S-1-23
    DEVops入门1部署K8S1.1节点准备节点名ip功能k8s-master10.0.0.150k8s-node110.0.0.151k8s-node210.0.0.1521.2初始操作在所有节点执行#1关闭防火墙systemctldisablefirewalldsystemctlstopfirewalld#2关闭selinuxsed-i's/enforci......
  • k8s pod重启 deployment重启
     1.15版本之后可通过kubectlrolloutrestartdeployment-n命令来实现滚动重启POD该命令会先创建待用POD,待新POD运行成功后,再关闭原有POD。因此需要保证node节点数量大于POD数量,否则新POD无法正常启动。当POD数量与node数量相同时,可使用先减小deployment规模的方法,先减小......
  • K8S测试lcoal StorageClass PVC
    测试lcoalStorageClassvilocal-path.yaml---apiVersion:v1kind:PersistentVolumeClaimmetadata:name:local-path-pvcspec:storageClassName:nfs#<===使用哪个SCaccessModes:-ReadWriteOnceresources:requests:storage:10Gi---......