首页 > 其他分享 >Kubernetes学习笔记(十四):Static Pods

Kubernetes学习笔记(十四):Static Pods

时间:2022-08-20 16:47:46浏览次数:79  
标签:Kubernetes -- kubelet Static pod Pods Pod

kubelet依赖于kube-apiserver来获得关于在其node上加载哪些pod的指令,这是基于存储在etcd数据库中的kube-scheduler所做的决定。

kubelet也可以独立运行,可以创建pod,可以指定用于存储pod信息的目录中读取pod定义文件。kubelet会每隔一段时间确认pod定义文件的信息,并保持一致。

replicasets、deployment、service无法独立运行。它们都是整个Kubernetes架构的概念组成部分,需要复制和部署控制器等其他控制平面组件。

kubelet在pod级别工作,只能理解pod,这也是为什么它能够创建static pod。

指定目录可以是任意地址,指定方式为kubelet.service文件中

  • --pod-manifest-path=/etc/Kubernetes/manifests
  • --config=kubeconfig.yaml ps : kubeadmin也是用这种方式实现的

其中kubeconfig.yaml

staticPodPath: /etc/Kubernetes/manifests

docker ps查看Static Pod生成结果,如果没有Kubernetes cluster。

如果有Kubernetes cluster,kube-apiserver会知道Static Pod的情况。(kube-apiserver上会有个Static Pod的只读镜像,pod的name会附加node的名称)

可以使用Static Pod将控制平面组件本身作为pod部署在node上,这样就可以在本地进行部署,不必下载二进制文件配置服务或担心服务崩溃,这也是kubeadmin工具设置Kubernetes集群的方式。

Static Pods vs DaemonSets

Static Pods DaemonSets
Created by the Kubelet Created by Kube-API server (DaemonSet Controller)
Deploy Control Plane components as Static Pods Deploy Monitoring Agents, Logging Agents on nodes
Ignored by the Kube-Scheduler Ignored by the Kube-Scheduler

判断是Static Pod的几种方式:

  • pod name结尾带有node name
  • kubectl get pod pod-name -n=kube-system -o yaml中查看配置文件,ownerReferences属性下kind为Node,普通的为ReplicaSet等

查看Static Pod的配置文件位置:

  • 查看/var/lib/kubelet/config.yaml中的staticPodPath

添加command的方式:在kubectl命令后加上--command -- sleep 1000,请保证--command放在整条命令之后,所有在--后的都会被视为添加的command。

创建Static Pod的方式就是把pod定义文件放到staticPath

切换node的方式ssh node-ip-address

标签:Kubernetes,--,kubelet,Static,pod,Pods,Pod
From: https://www.cnblogs.com/Bota5ky/p/16608050.html

相关文章

  • Kubernetes学习笔记(十三):Daemon Sets
    DaemonSets确保pod的一个副本始终存在于集群的所有节点中,常用于MonitoringSolution、LogsViewer、Kube-porxy、Weave-net(networking)。daemon-set-definition.yamlkind......
  • C#中的static静态变量的用法
    静态局部变量定义:在局部变量前加上static关键字时,就定义了静态局部变量。特点:A、该变量在全局数据区分配内存。B、初始化:如果不显式初始化,那么将被隐式初始化为0......
  • 面向对象——补充:static
    static静态变量可以直接用类名访问,也称类变量静态变量(或方法)对于类,能被所有对象(实例)共享、publicclassStudent{privatestaticintage;privatedouble......
  • kubernetes之镜像拉取策略;
    各工作节点负责运行Pod对象,而Pod的核心功能用于运行容器,因此工作节点上必须配置容器引擎,如Dokcer、Containerd等,启动容器时,容器引擎将首先于本地查找指定的镜像文件,不存......
  • 使用 Kubernetes Ingress-Nginx 实现蓝绿、灰度发布!你会用了吗?
    背景介绍某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在......
  • kubernetes的HPA控制器使用
    安装metricsserver      MetricsServer是Kubernetes内置的容器资源指标来源。      MetricsServer从node节点上的Kubelet收集资源指标,并通过MetricsA......
  • ios开发之--Cocoapods更新指定的库
    最近接手了一个swift的老项目,问题还不少,把bug修复完成功编译后,还没来得及高兴,发现一运行都崩溃,经排查是三方库太旧的原因,但是有些老版本的库又不能全部更新,所以只能更新指......
  • Kubernetes学习笔记(十一):Node Selectors & Affinity
    NodeSelectorspod-definition.ymlspec:nodeSelector:size:Large##生效前需要先标记nodekubectllabelnodes<node-name><label-key>=<label-value>:......
  • Kubernetes-概述
    Kubernetes概述Kubernetes概述Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes拥有一个庞大且快速......
  • Kubernetes学习笔记(十):Taints and Tolerations
    Taints-Node:kubectltaintnodesnode-namekey=value:taint-effecttaint-effect:NoSchedule|PreferNoSchedule|NoExecuteNoExecute:新Pod不会部署,已存在的......