首页 > 其他分享 >k8s Pod

k8s Pod

时间:2022-12-11 22:13:15浏览次数:50  
标签:容器 name Kubernetes Pod k8s 模板

Pod 是 k8s 的核心对象

Pod 是在 k8s 中创造,管理的最小可部署计算单元。

通常不需要直接创建 Pod,k8s 集群中 Pod 主要有两种用法:

  • 运行单个容器的 Pod

  • 运行包含多个容器的 Pod,Pod 中的容器紧密管理,必须放在一起。Pod 包含多个容器的时,Pod 作为一个整体来被调度。比如有些 Pod 里面有多个 init 容器和应用容器。

一个简单的 Pod 模板如下(官方文档)

apiVersion: ...
kind: ...
metadata:
  name: hello 
  labels: 
    k: v
    k: v

spec:
  template:
    # 这里是 Pod 模板
    spec:
      restartPolicy: OnFailure
      containers:
      - name: hello
        image: busybox:1.28
        imagePullPolicy: IfNotPresent
        ports: 12345
        env: 
          - name: os
            value: "ubuntu"
          - name: debug
            value: "on"
        command: ['sh', '-c', 'echo "Hello, Kubernetes!" && sleep 3600']
    # 以上为 Pod 模板

template 里面定义了 Job 的 Pod 。

如果要更新 Pod,那么需要使用更新后的模板来创建 Pod。这样才能触发更新操作。

字段解释

  • containers:
name: 容器名字
ports: 暴露的端口号
env: 定义容器的环境,与Docker中env指令类似;形式:k-v list
imagePullPolicy: 容器拉取策略
command: 容器启动时要运行的命令, 相当于 Docker 中的 entrypoint 指令
args: command 运行时的参数, 相当于 Docker 中的 cmd 指令
  • 其他
restartPolicy: 容器重启策略

静态 Pod

静态 Pod 不受 k8s 的管控, 所以叫做静态的. 但是由于它是 Pod, 所以也要跑在容器运行时上, 也会有 YAML 文件来描述它, 而唯一能够管理它的 Kubernetes 组件也就只有在每个节点上运行的 kubelet 了.

“静态 Pod”的 YAML 文件默认都存放在节点的 /etc/kubernetes/manifests 目录下,它是 Kubernetes 的专用目录.

你可以看到,Kubernetes 的 4 个核心组件 apiserver、etcd、scheduler、controller-manager 原来都以静态 Pod 的形式存在的,这也是为什么它们能够先于 Kubernetes 集群启动的原因.

平滑更新

标签:容器,name,Kubernetes,Pod,k8s,模板
From: https://www.cnblogs.com/geraldkohn/p/16974631.html

相关文章

  • 使用kubeadm快速部署一个k8s集群
    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点$kubeadminit#将一个N......
  • 定义一个pod的
    pod主要参数apiVersion:v1#必选,API的版本号kind:Pod#必选,类型Podmetadata:#必选,元数据name:nginx#必选,符合RFC1035规范的Pod名称name......
  • Rancher 2.6管理k8s集群
    一、Rancher介绍1.Rancher简介Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全......
  • 【k8s连载系列】2. k8s整体架构
    #一、Kubernetes的整体架构学习k8s,最终目的是为了部署应用,部署一个完整的k8s,就要知道k8s的组成。k8s主要包含两大部分:中间包含三个绿色包的是master服务器.下面是node......
  • k8s驱逐篇(5)-kube-controller-manager驱逐
    kube-controller-manager驱逐概述kube-controller-manager驱逐主要依靠NodeLifecycleController以及其中的TaintManager;kube-controller-manager驱逐分类(1)开启了污点驱......
  • k8s YAML
    YAML基础大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一直到......
  • Kubernetes(k8s)存储管理之数据卷volumes(五):动态制备-存储类StorageClass
    目录一.系统环境二.前言三.静态制备和动态制备四.存储类StorageClass4.1存储类StorageClass概览4.2StorageClass资源五.创建存储类StorageClass5.1配置NFS服务端以及共......
  • Kubernetes(k8s) 安装部署
    安装       疑难问题Kubeadm初始化报错:[ERRORCRI]:containerruntimeisnotrunning:[root@k8s-master~]#kubeadminit\>--apiserver-advertis......
  • k8s--数据存储、PV、PVC
    介绍在前面学了使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml中配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不合理。为了能够......
  • 【云原生】K8s Ingress rewrite与TCP四层转发讲解与实战操作
    目录一、背景二、K8sIngress安装三、K8sIngressrewrite讲解与使用1)配置说明2)示例演示1、部署应用2、配置ingressrewrite转发(http)3、配置ingressrewrite转发(https)【1......