k8s-pod参数详解

news2025/5/17 18:16:23

目录

  • 概述
  • 创建Pod
    • 编写一个简单的Pod
    • 添加常用参数
    • 为Pod的容器分配资源
    • 网络相关
    • Pod健康检查
      • 启动探针
      • 存活探针
      • 就绪探针
    • 作用整个Pod参数配置
      • 创建docker-registry
    • 卷挂载
  • 结束

概述

  k8s中的pod参数详解。官方文档
  版本 k8s 1.27.x 、busybox:stable-musl、nginx:stable-alpine3.19-perl

创建Pod

编写一个简单的Pod

apiVersion: v1
kind: Pod
# 元数据
metadata:
  # pod 名称 唯一
  name: busybox
  # 命名空间
  namespace: test
  # 标签
  labels:
    app: busybox

spec:
  containers:
  - name: busybox
    image: harbor.easzlab.io.local:8443/library/busybox:stable-musl
    imagePullPolicy: IfNotPresent
    command:
      - sleep
      - "3600"
  restartPolicy: Always
[root@hadoop01 pod]# kubectl get pod -n test
NAME                           READY   STATUS    RESTARTS   AGE
busybox                        1/1     Running   0          25s
tomcat-demo-7ddd4cf4f5-bpskf   1/1     Running   0          7d20h

[root@hadoop01 pod]# kubectl exec -it -n test busybox -- sh
/ # 
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
/ # 

添加常用参数

apiVersion: v1
kind: Pod
# 元数据
metadata:
  # pod 名称 唯一
  name: busybox
  # 命名空间
  namespace: test
  # 标签
  labels:
    app: busybox

spec:
  containers:
  - name: busybox
    image: harbor.easzlab.io.local:8443/library/busybox:stable-musl
    # 可选值: Always|IfNotPresent|Never
    imagePullPolicy: IfNotPresent
    # 环境变量
    env:
    - name: app
      value: busybox
    # 运行终端 守护进程,不会运行完就结束
    tty: true
    # 特权模式 对宿主机有 root 权限
    securityContext:
      privileged: true
    # 工作目录
    workingDir: /test
    # 命令
    command: ["/bin/sh"]
    # 参数
    args: ["-c", "while true; do echo hello;sleep 10;done"]
  restartPolicy: Always
[root@hadoop01 pod]# kubectl apply -f arg-busbox-pod.yaml
pod/busybox created
[root@hadoop01 pod]# kubectl get pod -n test
NAME                           READY   STATUS    RESTARTS   AGE
busybox                        1/1     Running   0          7s
tomcat-demo-7ddd4cf4f5-bpskf   1/1     Running   0          7d22h
[root@hadoop01 pod]# kubectl logs -f busybox -n test
hello
hello
hello
hello
hello
hello
hello

为Pod的容器分配资源

apiVersion: v1
kind: Pod
# 元数据
metadata:
  # pod 名称 唯一
  name: busybox
  # 命名空间
  namespace: test
  # 标签
  labels:
    app: busybox

spec:
  restartPolicy: Always
  containers:
  - name: busybox
    image: harbor.easzlab.io.local:8443/library/busybox:stable-musl
    imagePullPolicy: IfNotPresent
    command:
      - sleep
      - "3600"
    resources:
      # 注意MiB 和 Mb 有区别,1MiB=1024k,而1Mb=100k k8s 使用 Mi 大的
      # cpu的单位 ,1c=1000m
      # 最小需要
      requests:
        memory: "100Mi"
        cpu: "1000m"
      # 最大限制
      limits:
        memory: "200Mi"
        cpu: "1000m"

在这里插入图片描述
注意:因为安装的不是 docker ,所以 crictl stats 并不详细
在这里插入图片描述
如 docker stats 能看出资源限制后的变化。
在这里插入图片描述

网络相关

网络默认配置使用的是 k8s 集群的配置。

在这里插入图片描述
自定义网络配置如下:

apiVersion: v1
kind: Pod
# 元数据
metadata:
  # pod 名称 唯一
  name: nginx
  # 命名空间
  namespace: test
  # 标签
  labels:
    app: nginx 

spec:
  # 使用宿主机的网络,与宿主机共享局域网
  hostNetwork: false
  # 可选值:Default | ClusterFirst | ClusterFirstWithHostNet | None
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
    - 8.8.8.8
  # 域名映射
  hostAliases:
    - ip: 192.168.1.18
      hostnames:
      - "foo.local"
      - "bar.local"
  containers:
  - name: nginx
    image: harbor.easzlab.io.local:8443/library/nginx:stable-alpine3.19-perl
    imagePullPolicy: IfNotPresent
    ports:
    - name: default
      containerPort: 80
      # 如果使用hostnetwork 那这里就不能指定端口,配置了也不会生效
      hostPort: 8080

在这里插入图片描述

Pod健康检查

  有一种情况,容器还是正常运行的,但是服务无法使用;这种场景,一般称之为容器死锁,为了能够迟早的发现这种问题,可以通过对容器做健康检查来迟早发现问题。

在这里插入图片描述

  • 启动探针:启动成功之后才是就绪与存活探针,启动失败,会根据策略重启

  • 就绪探针:如初始化 mysql 等,不会重启,会让服务不可用

  • 存活探针:通过 http tcp grpc 等方式验证容器是否可用

  • 探针示例,后续补充

启动探针

spec:
  containers:
  - name: your-container
    startupProbe:
      httpGet:
        path: /healthz
        port: 8080
      failureThreshold: 30
      initialDelaySeconds: 120
      periodSeconds: 10
      timeoutSeconds: 1
      successThreshold: 1

存活探针

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: myapp:latest
    ports:
    - containerPort: 80
    livenessProbe:
      httpGet:
        path: /healthz
        port: 80
      initialDelaySeconds: 5
      periodSeconds: 10

  Liveness探针每10秒检查一次http://myapp-pod:8080/healthz,initialDelaySeconds用于指定探针初次执行前的延迟时间。

就绪探针

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: myapp:latest
    ports:
    - containerPort: 80
    readinessProbe:
      httpGet:
        path: /readyz
        port: 80
      initialDelaySeconds: 5
      periodSeconds: 10

  Readiness探针每5秒检查一次http://myapp-pod:8080/readyz,initialDelaySeconds用于指定探针初次执行前的延迟时间。

作用整个Pod参数配置

创建docker-registry

kubectl create secret docker-registry regcred \
--docker-server=<你的镜像仓库服务器> \
--docker-username=<你的用户名> \
--docker-password=<你的密码> \
--docker-email=<你的邮箱地址> \
-n test

卷挂载

结束

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

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

相关文章

高性价比蓝牙耳机排行榜10强,四大高性价比品牌推荐

在众多的品牌和产品中&#xff0c;如何选择一款性价比高、音质出众、功能齐全的蓝牙耳机&#xff0c;成为了许多消费者关注的焦点&#xff0c;作为一个蓝牙耳机的老油条&#xff0c;我特别为大家精选了高性价比蓝牙耳机排行榜的10强&#xff0c;并重点推荐四大高性价比品牌&…

重庆公司记账代理,打造专业财务管理解决方案的领先企业

重庆公司记账代理&#xff0c;作为专业的财务管理服务提供商&#xff0c;我们的目标是为公司的经营管理和决策提供科学、准确的财务数据支持&#xff0c;我们通过长期的专业经验和对市场的深入理解&#xff0c;为您提供一站式的记账服务和财务咨询。 专业团队 我们拥有一支由经…

阿里云ECS实例镜像本地取证

更新时间&#xff1a;2024年03月21日10:09:37 1. 说明 很多非法案件中&#xff0c;服务器是直接搭建在阿里云上的&#xff0c;比如我们在拿到OSSKey之后&#xff08;技术方法、其它方法等&#xff09;&#xff0c;可以将涉案服务器镜像导出&#xff0c;在本地进行取证分析。 …

虚拟机上安装 VB6 mini,中文乱码

一、网址下载 VB6 mini&#xff08;普通下载即可&#xff09; https://ccswust.lanzoui.com/i4mZrhf8ipi 二、VB6-Mini_20160110&#xff0c;放入虚拟机&#xff0c;双击进行安装 三、点开VB6 Mini后&#xff0c;中文乱码&#xff08;以Win10为例 开始–Settings–Time &…

使用opencv在图像上画带刻度线的十字线,以图像中心点为0点

使用OpenCV在图像上绘制带刻度线的十字线&#xff0c;可以通过以下步骤实现。我们将首先找到图像的中心点&#xff0c;然后绘制水平和垂直线&#xff0c;并在这些线的适当位置绘制刻度线。以下是详细的C代码示例&#xff1a; #include<opencv2\opencv.hpp> //画十字标注…

职场奋斗10年,到此结束,享年38

职场奋斗10年&#xff0c;到此结束&#xff0c;享年38 昨天一个粉丝&#xff0c;上来就给我转2000大洋&#xff0c;说有问题想问我&#xff0c;看完他的问题&#xff0c;直接把钱退给了他&#xff0c;估计又有人要说我脑壳长包了。 主动送上门的钱谁不想要&#xff1f;主要是…

【人工智能】第三部分:ChatGPT的应用场景和挑战

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

深入探索:十种流行的深度神经网络及其运作原理

算法 深入探索&#xff1a;十种流行的深度神经网络及其运作原理一、卷积神经网络&#xff08;CNN&#xff09;基本原理工作方式 二、循环神经网络&#xff08;RNN&#xff09;基本原理工作方式 三、长短期记忆网络&#xff08;LSTM&#xff09;基本原理工作方式 四、门控循环单…

Win10系统无法安装msi文件问题

winR输入services.msc打开服务 找到Windows Installer并启动 输入msiexec /package “msi文件路径”

SpringBoot集成ireport打印,并解决PDF中文显示问题

1、相关jar包引入 <!-- ireport报表相关 start--><dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>4.5.1</version><exclusions><exclusion><groupId…

Django视图层探索:GET/POST请求处理、参数传递与响应方式详解

系列文章目录 Django入门全攻略&#xff1a;从零搭建你的第一个Web项目Django ORM入门指南&#xff1a;从概念到实践&#xff0c;掌握模型创建、迁移与视图操作Django ORM实战&#xff1a;模型字段与元选项配置&#xff0c;以及链式过滤与QF查询详解Django ORM深度游&#xff…

docker pull image 报错 dial tcp 31.13.88.169:443: i/o timeout

一、错误重现 error pulling image configuration: download failed after attempts6: dial tcp 31.13.88.169:443: i/o timeout 在执行docker build构建镜像&#xff0c;拉取镜像时报错 或者直接docker pull镜像时报错 实质都是拉取镜像源超时报错&#xff0c;那么就是镜像源…

[数据集][目标检测]室内积水检测数据集VOC+YOLO格式761张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;761 标注数量(xml文件个数)&#xff1a;761 标注数量(txt文件个数)&#xff1a;761 标注类别…

《接口自动化测试框架》代码片段 - 文件和目录操作封装

抛砖引玉 在Python中&#xff0c;文件和目录的操作是一项基础且频繁的任务。 Python提供了一系列强大的内置函数和模块&#xff0c;使得这些操作变得既简单又高效。 这些工具极大地简化了对文件和目录的各种操作&#xff0c;从创建新文件、读取数据、写入内容&#xff0c;到删除…

易语言QQ机器人2.0源码

易语言QQ机器人2.0 效果图源码说明领取源码下期更新预报 效果图 源码说明 .程序集 Smessage, VJ_DirectUI .程序集变量 Format, StringFormat.子程序 _初始化, , , 当基于本类的对象被创建后&#xff0c;此方法会被自动调用.子程序 _销毁, , , 当基于本类的对象被销毁前&#x…

mysql当前状态分析(show status)

文章目录 查看当前线程数据查询连接情况查询缓存相关查询锁相关查询增删改查执行次数查询DDL创建相关 SHOW STATUS 是一个在 MySQL 中用来查看服务器运行状态的命令。它可以帮助你了解服务器的当前性能&#xff0c;包括连接数、表锁定、缓冲区使用情况等信息。 查看当前线程数据…

【Java】解决Java报错:ConcurrentModificationException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 遍历过程中修改集合2.2 使用 Iterator 进行删除操作 3. 解决方案3.1 使用 Iterator 的 remove 方法3.2 使用 CopyOnWriteArrayList3.3 使用 synchronized 块 4. 预防措施4.1 使用线程安全的集合类4.2 使用合适的遍历和修改方法4.…

大模型安全技术实践 | RAG精确应对大模型敏感问题知识幻觉难题

一、引言 在大模型的实际应用落地过程中&#xff0c;会遇到所谓的幻觉&#xff08;Hallucination&#xff09;问题。对于语言模型而言&#xff0c;当生成的文本语法正确流畅&#xff0c;但与原文不符&#xff08;Faithfulness&#xff09;或事实不符&#xff08;Factualness&a…

【51单片机】智能百叶窗项目

文章目录 功能演示&#xff1a;前置要求&#xff1a;主要功能&#xff1a;主要模块&#xff1a;主函数代码&#xff1a; 具体的仿真程序和代码程序已经免费放置在资源中&#xff0c;如有需要&#xff0c;可以下载进行操作。 功能演示&#xff1a; 前置要求&#xff1a; 编译软…

气膜建筑的照明设计:智能与高效的完美结合—轻空间

气膜建筑作为一种新型的建筑形式&#xff0c;因其独特的结构和材料&#xff0c;带来了多样化的功能和应用场景。在气膜建筑的设计中&#xff0c;照明设计是一个重要的环节&#xff0c;直接关系到建筑内部的使用体验和能源利用效率。本文将详细探讨气膜建筑的照明设计如何实现智…