k8s 学习九,pod 知识点 上

news2024/11/13 3:50:37

在 K8S 中, pod 是一个非常关键的存在,我们一起来看看 pod 具体是个什么?

pod 是个啥?

pod 是个什么呢?pod 是 K8S中的一个核心概念

每一个 pod 都会有一个特殊的根容器,叫做 pause 容器,pause 容器对应的镜像也是属于 K8S 的一部分的

pod 里面可不仅仅只有 pause 容器,还可以有其他多个容器

之前文章我们稍微提到过 pod,每一个 pod ,都是一个具体应用的实例,pod 有自己独自的 IP,主机名,进程等等

  • pod 与 容器是 1 对多的关系

一个 pod 里面可以有多个容器,多个容器彼此共享网络和存储资源

我们都是通过 pod 中的 pause 容器 来管理其他容器的, 因为 pause 容器会存储所有的容器状态

  • pod 和节点的关系

pod 存在于节点中,不同节点的 pod 相互通信,是通过二层网络通信的

  • pod 自身还有啥不同的?

pod 自身还分成普通的 pod,和静态的 pod

我们如何定义一个 pod

在 K8S 中定义一个 pod 也是比较简单的,就是写一个 yaml 文件,只不过我们刚开始需要多加尝试和练习

yaml 文件大体是这样的,纯手写 , 下面的配置,我把不太容易理解的或者说是容易误解的名词解释一下,其他的自行看英文即可理解

apiVersion: v1  // 版本号
kind: Pod		// 类型
metadata: 
  name: pod name
  namespace: pod namespace
  labels:
    - name: pod label
	annotations:
	- name: pod annotation	// 自定义注释列表
spec:	// pod 中容器的详细定义
  container:
  - name: container name
    image: container image
    imagesPullPolicy: [Always|Never|IfNotPresent] // 镜像拉取策略
    command: command list
    agrs: app start params
    workingDir: work dir
    volumeMounts:
    - name: volume name
      mountPath: volume absolutely path
      readonly: boolean
	ports:
	- name: ports list name
	  containerPort: 8888
	  hostPort: 9999
	  protocol: TCP  // 可以是 TCP 和 UDP
	env:
	- name: env name
	  value: string
	resources:
	  limits:
	    cpu: string
	    memory: string
	  requeste:
	    cpu: string
	    memory: string
	livenessProbe:		// 健康检查设置
      exec:
        command: [string]
      httpGet: 			// 通过 httpGet  方式检查
        path: string
        port: string
        host: string
        scheme: string
        httpHeaders: 
        - name: httpHeaders name
          value: string	
      tcpSocket:		// 通过 tcpSocket 方式检查
        port: 80
      initialDelaySeconds: 0	// 首次检查时间
      timeoutSeconds: 0			// 超时检查时间
      periodSeconds: 0			// 检查间隔时间
      successTreshold: 0
      failuerTreshold: 0
      securityContext:			// 安全配置
        privileged: false
    restartPolicy: [Always|Never|OnFailure]
    nodeSelector: object
    imagePullSecrets:
    - name: string
    hostNetwork: false			// 是否使用主机网络模式?
  volumes:						// 存储卷
  - name: volumes list name
    emptyDir: {}
    hostPath:				// pod 所在主机的目录,用于挂载
      path: string
    secret:					// secret 类型 存储卷
      secretName: secret name
      item:
      - key: specific key
        path: key path
    configMap:				// configmap 类型存储卷
      name: string
      items:
      - key: specific key
        path: string

看了上面的这个 yaml ,起初可能会觉得有点多,一下子记不住, xdm ,没有让你记住,咱们只需要知道 pod 的 yaml 是长 这个样子,里面都有哪些用法即可

pod 基本用法使用示例

在 K8S 中对 pod 中的容器运行也是有要求的

  • 容器的主程序是在前台运行,而不是后台,因此,应用需要改造成前台运行的方式
  • 若 pod 中包含的容器是一个后台执行程序,那么执行完命令之后,pod 就会被销毁
  • 若 pod 是一个 rc ,rc 就是 replicationController ,那么 pod 就会处于一个 创建,销毁的循环中 需注意

我们分享创建的pod,可以是里面放 1 个容器,也可以是放多个容器的,根据我们需要去处理即可

1 个 pod 放 1 个容器

例如我们 1 个 pod 里面放 1 个 mongdb 的容器,可以这样来写

1 个 pod 放 多个 容器

例如我们 1 个 pod 里面放 1 个 mongodb 和 1 个 redis 容器,可以这样来写

image-20211124224424388

如何操作 pod

根据已有 yaml 创建 pod

kubectl create -f yaml文件

查看 pod 和 查看 pod 详情

例如这样的

、

  • kubectl get pod -A

查看所有命名空间下面的 pod

  • kubectl get pod pod名字
  • Kubectl get pod pod名字 -o wide

查看 pod 的更多信息

  • kubectl describe pod pod名字

查看 pod 的详情

删除 pod

  • kubectl delete pod pod名字
  • kubectl delete pod pod名字 -n 命名空间
  • kubectl delete pod --all

删除所有的 pod

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~
更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云原生:深入掌握Docker日志管理:高效策略与最佳实践

前言 在docker的整个生命周期中,超过70%的时间,我们都是在用docker进行运维工作, 查看docker的日志,是运维中的必会技能。 docker日志分为: docker引擎日志应用日志 今天我们重点来讨论下docker的日志使用&#xf…

【博客672】prometheus使用数据外推与兼容跳变重置来优化处理窗口函数(rate,irate,increase)

prometheus使用数据外推与兼容跳变重置来优化处理窗口函数(rate,irate,increase) 场景 以下是用于计算计数器增长率的三个函数之间差异的高级概述: rate():这计算每秒的增长率,在整个提供的时间窗口内平均。示例&am…

谷歌推出“能讲会听”的大语言模型AudioPaLM,实现语音理解和生成

出品人:Towhee 技术团队 作者:顾梦佳 近日,谷歌推出了一个能够理解并生成语音理解的大型语言模型——AudioPaLM。这一模型融合了分别基于文本和语音两种语言模型——PaLM-2 和 AudioLM,形成了一个统一的多模态架构。该模型不仅能对…

@monthly /root/.cfg/./dealer病毒清除

登录服务器时,ssh提示密码不对,就去控制台检查,查看到虚拟平台中多台服务器提示虚拟机CPU使用告警,占用过高。远程无法登录。 原因分析:所有中毒的均为linux服务器,密码设置过于简单,防火墙关闭…

【算法题】统计各位数字之和为偶数的整数个数、替换空格、旋转数组的最小数字

算法题之数字处理 一、统计各位数字之和为偶数的整数个数1.1、题目1.2、理解题目1.3、解题思路(暴力枚举)1.4、解题思路2(数学公式)1.5、小结 二、替换空格2.1、题目2.2、解题:遍历原地修改 三、旋转数组的最小数字3.1…

如何判断TongWeb是否支持某种数据库?

起因: 数据库连接池本是一项成熟的技术,但随着数据库厂家、种类的增加,常常被问到TongWeb是否支持XX数据库? 说明: 数据库连接池的基本思路是,平时建立适量的数据库的连接,放在一个集合中&…

举例说明,JS中的【return true】和【return false】的【使用场景】

1.return true和return false都是写在函数里面 2.如果一个函数需要有返回值,则函数中需要写return相关 3.return true和return false是之后调用这个函数判断用: 如果一个函数需要返回值,则需要在函数中添加return 如果函数中添加的是 比如 …

2-css-4

一 标准流 标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。 二 浮动 1 认识 作用:让块元素水平排列。 属性名:float 属性值 left:左…

跳槽过去,刚工作三天就被裁是一种怎样的体验

前言 还有谁?刚上三天班就被公司公司的工作不适合我,叫我先提升一下。 后面我也向公司那边讨要了一个说法,我只能说他们那边的说辞让我有些不服气。 现在之所以把这件事在csdn上记录一下,一是记录一下自己的成长轨迹&#xff0…

2023计算机组成原理【5-7】

第五章 中央处理器 1.指令周期的概念,与时钟周期、机器周期的区别。 指令周期是执行一条指令所需的时间,包括多个子阶段的时间总和时钟周期是计算机系统中的基本时间单位,由时钟信号控制,用于同步处理器和其他组件的操…

Collectors.toMap使用详解

这里写目录标题 一、使用规则二、源码及方法三、代码示例1.将list转成以id为key的map&#xff0c;value是id对应的Dept对象2.假如id存在重复值&#xff0c;则会报错Duplicate key xxx, 解决方案是3.想获得一个id和name对应的Map<Integer, String>4.把Dept集合按照group分…

5年软件测试工作经验,高不成低不就,真的只能转行了吗?

迷茫感&#xff0c;从哪里来&#xff1f; 不知不觉在软件测试行业&#xff0c;野蛮生长了5年之久。这一路上拥有了非常多的感受。有迷茫&#xff0c;有踩过坑&#xff0c;有付出有收获&#xff0c; 有坚持&#xff01; 我一直都在软件测试行业奋战&#xff0c; 毕业时一起入职…

制作自定义pfx证书(数字签名)

目录 生成server.key 生成server.crt 生成server.pfx 结果 exe文件签名 生成server.key openssl genrsa -des3 -out server.key 2048 Generating RSA private key, 2048 bit long modulus (2 p

单独生成 main.exe, pyinstaller × pyecharts 打包报错找不到文件 map_filename.json 一次搞定!

报错&#xff1a; FileNotFoundError: [Errno 2] No such file or directory: ‘C:\Users\xxx\AppData\Local\Temp_MEI3455\pyecharts\datasets\map_filename.json’ pyecharts 打包成 exe 的时候找不到 map_filename.json 文件。先找到这个文件,一般在本机 Python 安装目录下…

一文掌握linux系统管理命令

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

SuperMap GIS基础产品移动GIS FAQ集锦(3)

SuperMap GIS基础产品移动GIS FAQ集锦&#xff08;3&#xff09; 【iMobile】网络分析中设置权值字段&#xff0c;如何添加多个权值字段&#xff1f; 【解决办法】通过权值字段集合类&#xff08;WeightFieldInfos&#xff09;设置&#xff0c;该类是权值字段信息对象&#x…

回波3DFFT处理(测距、测速、测角)

回波3DFFT处理&#xff08;测距、测速、测角&#xff09; 1、测距、测速2、测角3、3DFFT处理4、MATLAB程序 本文主要针对TI 毫米波雷达的测距、测速、测角的基本方法——3DFFT处理进行简单介绍&#xff0c;并提供MATLAB处理程序&#xff0c;分析3DFFT处理结果。 1、测距、测速…

高等数学下拾遗+与matlab结合

如何学好高等数学 高等数学是数学的一门重要分支&#xff0c;包括微积分、线性代数、常微分方程等内容&#xff0c;它是许多理工科专业的基础课程。以下是一些学好高等数学的建议&#xff1a; 扎实的基础知识&#xff1a;高等数学的内容很多&#xff0c;包括初等数学的一些基…

Postgresql源码(107)analyze行采样流程分析(pg_class中reltuples行数评估是哪里来的准确吗)

总结 pg_class中reltuples行数评估是哪里来的&#xff1f; 行数评估发生在acquire_sample_rows采样函数中&#xff0c;算作采样的副产品之一。 总行数评估totalrows即&#xff1a;扫到页面中live元组的数量 / 扫到多少页面 * 总页面&#xff0c;向上取整。 pg_class中reltu…

十九、socket套接字编程——udp

文章目录 一、socket套接字编程接口&#xff08;一&#xff09;socket头文件&#xff08;二&#xff09;socket 常见API&#xff08;套接字编程接口&#xff09;1. 创建 socket 文件描述符 (TCP/UDP, 客户端 服务器 )2.绑定网络信息 (TCP/UDP, 服务器 )3.开始监听 socket (TCP…