K8s创建Pod的两种方式

pod(一):Kubernetes(k8s)创建pod的两种方式 docker可以创建容器,Kubernetes不能直接创建容器,Kubernetes创建的是pod,pod里面包含了一个或者多个容器。创建pod的前提是已经有一套可以正常运行的Kubernetes集群,关于Kubernetes(k8s)集群的安装部署,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》Centos7 安装部署Kubernetes(k8s)集群 - 人生的哲理 - 博客园。 阅读详情

K8s创建Pod的两种方式

Kubernetes创建pod一般有两种方式:

  1. 使用命令行的方式创建pod;
  2. 使用yaml文件创建pod(资源清单)

命令行方式

kubectl run

# 创建一个最简单的pod
[root@k8s01 ~]# kubectl run nginx --image=nginx
pod/nginx created

# 查看pod,等STATUS为Running就表示pod创建成功
[root@k8s01 ~]# kubectl get pod  
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ContainerCreating   0          11s
[root@k8s01 ~]# kubectl get pod 
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          2m15s
[root@k8s01 ~]# kubectl get pod -o wide
NAME    READY   STATUS    RESTARTS   AGE    IP         NODE    NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          106s   10.2.1.7   k8s03   <none>           <none>
[root@k8s01 ~]# kubectl delete pod nginx 
pod "nginx" deleted
[root@k8s01 ~]# kubectl get pod 
No resources found in default namespace.


# 创建pod,指定镜像下载策略
镜像的下载策略:Always:每次都下载最新的镜像;Never:只使用本地镜像,从不下载,IfNotPresent:本地没有才下载镜像 默认值为:Always
kubectl run nginx --image=nginx --image-pull-policy=IfNotPresent

yaml文件方式(资源清单)

yaml概述

YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。主要强调这种语言是以数据为中心,而不是以标记语言为重心,例如像xml语言就会使用大量的标记。

YAML是一个可读性高,易于理解,用来表达数据序列化的格式。它的语法和其他高级语言类似,并且可以简单表达清单(数组)、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件等。YAML的配置文件后缀为 .yaml。

如何生成创建pod的yaml文件

–dry-run 模拟运行,并不会真的创建一个pod , --dry-run=client输出信息少 ,–dry-run=server输出信息多, -o yaml以yaml文件的格式输出

–dry-run=server输出信息如下:内容很多

[root@k8s01 ~]# kubectl run nginx --image=nginx --image-pull-policy=IfNotPresent --dry-run=server -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-02-10T12:54:57Z"
  labels:
    run: nginx
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:run: {}
      f:spec:
        f:containers:
          k:{"name":"nginx"}:
            .: {}
            f:image: {}
            f:imagePullPolicy: {}
            f:name: {}
            f:resources: {}
            f:terminationMessagePath: {}
            f:terminationMessagePolicy: {}
        f:dnsPolicy: {}
        f:enableServiceLinks: {}
        f:restartPolicy: {}
        f:schedulerName: {}
        f:securityContext: {}
        f:terminationGracePeriodSeconds: {}
    manager: kubectl-run
    operation: Update
    time: "2024-02-10T12:54:57Z"
  name: nginx
  namespace: default
  selfLink: /api/v1/namespaces/default/pods/nginx
  uid: aacd1776-9abc-446d-bc25-9b9ee3c8da87
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: nginx
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: default-token-dnrc7
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: default-token-dnrc7
    secret:
      defaultMode: 420
      secretName: default-token-dnrc7
status:
  phase: Pending
  qosClass: BestEffort

–dry-run=client输出信息如下:输出内容恰到好处

[root@k8s01 ~]# kubectl run nginx --image=nginx --image-pull-policy=IfNotPresent --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: nginx
  name: nginx
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: nginx
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

[root@k8s01 ~]# kubectl run nginx --image=nginx --image-pull-policy=IfNotPresent --dry-run=client -o yaml >nginx.yaml

`

k8s学习笔记(三):pod的启动流程和实践案例 启动一个pod背后会发生什么?如何去创建一个pod呢?一文教你搞懂! 阅读详情

相关推荐

Kubernetes实战笔记(一):创建pod

我们可以使用pod探针可以获取当前容器的情况,探测方式有。3. Readiness用于探测容器内的程序是否健康。clone新的节点作为从节点,并且修改静态ip地址。pod是k8s的最小工作单元。用于探测容器中应用是否运行。

qq_36159724的博客 601

pod:Kubernetes(k8s)创建pod的两种方式

docker可以创建容器,kubernetes不能直接创建容器,kubernetes创建的是pod,pod里面包含了一个或者多个容器。

qq_50247813的博客 2947

k8s创建资源的两种方式、访问pod

创建资源 1.用kubectl命令直接创建, #kubectl run httpd-app --image=reg.yunwei.edu/learn/httpd:latest--replicas=2 在命令行中通过参数指定资源的属性。 2. 通过配置文件和kubectl apply创建,要完成前面同样的工作,可执行命令: #kubectl apply -f httpd...

PpikachuP的博客 1991

K8S:创建pod资源两种方式: kubectl命令 && yaml文件

json格式适用于开发;yaml格式适用于运维 可以用yaml文件创建资源 创建pod资源 创建service资源 expose 发布–>创建一个service资源,做端口映射 ,把服务提供出去 可以把两个文件,写到一起,用3个短横杠进行分隔。表示两个文件,创建时有先后顺序 # kubectl api-versions 查看版本 # mkdir demo # cd demo # vim nginx-deployment.yaml apiVersion: apps/v1 kind: Deploymen

weixin_45691464的博客 1万+

云原生kubernetes五 :pod创建流程

这些资源就是K8S中承载具体的工作的一些资源,常见的类型有:Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjon,...这类型资源主要提供集群的管理相关的功能,常见类型有:Namespace,Node,Role,ClusteRole,RoleBinding,ClusterRoleBinding。这类型的资源主要和存储相关,常见类型有:Volume,CSI,ConfigMap,Secret,DownwardAPI,...

qq_46654855的博客 750

3D点云修复实战:用PCN网络快速补全缺失的激光雷达数据(附代码)

本文详细介绍了PCN(Point Completion Network)网络在3D点云修复领域的实战应用。针对激光雷达数据常见的缺失问题,PCN通过端到端的深度学习架构,直接处理原始点云,实现由粗到精的快速补全。文章深入解析了其核心思想与编码器-解码器架构,并提供了完整的环境搭建、数据准备、模型实现、训练评估及在真实场景下的优化策略与代码示例,为自动驾驶、机器人等领域的开发者提供了高效的数据修复解决方案。

weixin_29041195的博客 392

k8s查看pod的yaml文件_K8S:创建pod资源两种方式: kubectl命令 && yaml文件

https://www.it610.com/article/1279909817661538304.htmkubectl 命令管理pod资源Kubectl是管理k8s集群的命令行工具,可通过kubectl命令进行创建、查看、管理的操作。可详细查看kubectl命令中的参数信息#kubectl --help查看资源对象简写#kubectl api-resources1:创建命令 kubectl ru...

weixin_30768881的博客 2765

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 153

Linux容器篇-k8s创建管理pod的两种方式

deployment是最常用的k8s工作负载控制器,是k8s的一个抽象概念,用于更高级层次对象,部署和管理pod。其他的控制器还有daemonset,statefulset等。应用程序 -> 制作镜像 -> 部署 -> 升级 -> 回滚 -> 下线。

秣宇的博客 925

win11本地部署openclaw实操第5集-X11图形化界面搭建,让WSL2“看见”世界

本文介绍了在WSL2中实现图形界面(GUI)的方法。由于WSL2默认没有图形界面,需要使用X11服务器作为"翻译显示器",将Linux程序的图形指令渲染到Windows窗口中。推荐使用VcXsrv作为X11服务器,详细说明了其安装和配置步骤,包括选择"One large window"显示模式、禁用访问控制等关键设置。随后在Ubuntu中安装轻量级xfce4桌面环境,并通过设置DISPLAY环境变量将图形输出指向VcXsrv。最终通过startxfce4命令成功在Vc

weixin_44626085的博客 810

lumerical-环形谐振器

利用mode求解器优化得到所需的环的总长度,即环形器的半径,然后通过varFDTD得到光场分布和透过率.

m0_61776728的博客 2188

【k8s】创建静态pod(kubeadm及二进制两种部署方式)

如果是kubeadm的方式部署: 默认是在/etc/kubernetes/manifests目录下 直接在该目录下创建新的yaml即可。例如: static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web image: nginx:1.17.6 ports: - n

weixin_45066823的博客 637

RML2016.10a (CNN、LSTM、CNN-LSTM、CNN-LSTM-Multi-head-attention, TensorFlow)

RML2016.10a (CNN、LSTM、CNN-LSTM、CNN-LSTM-Multi-head-attention, TensorFlow) 包含所有数据和代码,支持一键运行(jupyter)

qq_40999533的博客 1482

k8s-----pod资源工作流程与调度约束 及 故障排除

文章目录前言一:k8s工作分析1.1:k8s创建pod工作流程二 :调度方式示例1 --nodeName方式创建资源查看详细事件(发现未经过调度器)清空所有pod示例2:nodeSelector获取标签帮助给对应的node设置标签分别为sha=a和sha=b查看详细事件(通过事件可以观察经过调度器分配)二 . 故障排除查看pod事件查看pod日志(Failed状态下)进入pod(状态为running,但是服务没有提供) 前言 一:k8s工作分析 1.1:k8s创建pod工作流程 1、用户创建pod的

BIGmustang的博客 558

KiCad插件安装太慢?试试华秋版,再手把手教你装这5个实用插件

本文介绍了KiCad华秋发行版如何解决插件安装慢的问题,并详细推荐了5个实用插件及其安装方法。华秋版优化了国内用户的下载速度,预装了常用扩展包,包括BOM生成器、3D模型增强工具等,显著提升PCB设计效率。

weixin_29184075的博客 547

AES-128-CMAC:背景、汽车应用、CAPL 实现与开源工具验证

本文详解车载诊断中AES-128-CMAC算法的原理与应用,涵盖其在UDS安全访问、刷写鉴权、SecOC认证及密钥派生中的核心作用。结合真实汽车电子场景,提供纯CAPL实现代码与测试脚本,并通过pycryptodome进行逐字节验证,确保算法正确性。全程基于CANoe实测数据,可直接用于HIL环境复现,助力开发者高效落地汽车网络安全方案。

蚂蚁小兵 112

kubernetes基本概念 pod, service

k8s的部署架构 kubernetes中有两类资源,分别是master和nodes,master和nodes上跑的服务如下图, kube-apiserver | kubelet kube-controller-manager | kube-scheduler ...

weixin_30781433的博客 149

ADES1831和ADBMS6830

1、上电默认进入STANDBY模式,SPI发送0xFF也可以进入STANDBY模式2、看门狗定时器超时后,进入SLEEP状态3、配置寄存器中的REFON位使用WRCFGA命令将组A设置为1进入REFUP状态,此状态比待机状态更快地启动ADC转换。i<TOTAL_IC;i++)注意:读AFE数据时会随着AFE片数增加而增加,原因是唤醒时间和AFE片数密切相关,如果需要缩短时间,那么减少唤醒频次。

m0_61973119的博客 263

kubernetes的调度、节点选择器、pod的容忍策略 8月17日学习笔记

文章目录一、k8s调度过程1、一个pod创建的流程1、ETCD的3个阶段:二、调度的两种方式2、nodeName2、nodeSelector3、总结三、pod的可能状态与原因四、容忍affinity1、node容忍 一、k8s调度过程 1、一个pod创建的流程 客户要创建资源时,会发给APIserver,APIserver会把pod资源的属性信息写入到etcd etcd记载完成后,会返回记载完成制定发给APIserver APIserver触发watch机制,发给scheduler信息,我要创建pod资

陈c 233

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【运维知识大神篇】运维界的超神器Kubernetes教程16(详解Secret资源创建方式+Pod引用secret的两种方式+Pod拉取私有harbor私有项目案例+详解Dashboard部署使用)

本篇文章继续给大家介绍Kubernetes的内容,主要讲解Secret的资源和Dashboard的部署使用,干货满满,看到就是赚到!包含secret的两种创建方式,Pod引用secret的两种方式,Pod拉取私有项目镜像案例,Dashboard的部署与使用。

吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。 1283

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

干货!K8S之pod创建流程+调度约束

文章目录一、pod创建过程二、调度方式(指定节点创建pod) 一、pod创建过程 Kubernetes通过watch的机制进行每个组件的协作,每个组件之间的设计实现了解耦。 用户使用create yaml创建pod,请求给apiseerver,apiserver.将yaml中的属性信息(metadata)写入etcd apiserver触发watch机制准备创建pod,信息转发给调度器,调度器使用调度算法选择node,调度器将node信息给apiserver,apiserver_将绑定的node信息写入

时光慢旅的博客 8220

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

k8s之pod详解(K8s Pod Detailed Explanation )

Pod 是 k8s中最小的资源管理组件,Pod 也是最小化运行容器化应用的资源对象。一个 Pod 代表着集群中运行的一个进程。kubernetes 中其他大多数组件都是围绕着 Pod 来进行支撑和扩展 Pod 功能的,例如用于管理 Pod 运行的 StatefulSet 和 Deployment 等控制器对象,用于暴露 Pod 应用的 Service 和 Ingress 对象,为 Pod 提供存储的 PersistentVolume 存储资源对象等.本章详细介绍pod.

Linux运维老纪的博客 1695

K8s系列之:Pod的基本用法

K8s系列之:Pod的基本用法一、创建由一个容器组成名为frontend的Pod二、创建由frontend和redis两个容器组成一个名为redis-php的Pod三、静态Pod1)配置文件方式 Pod的基本用法为:Pod可以由1个或多个容器组合而成。 一、创建由一个容器组成名为frontend的Pod apiVersion: v1 kind: Pod metadata: name: frontend labels: - name: frontend spec: containers:

zhengzaifeidelushang的博客 1657

K8S中最小的单位Pod资源介绍

● Pod是一组容器, 在K8S中,最小的单位是Pod, 一个Pod可以包含多个容器,但通常情况下我们在每个Pod中仅使用一个容器,可以把Pod理解成豌豆荚, Pod内的每个容器是一颗颗豌豆 ● Pod 的核心是运行容器,必须指定容器引擎,比如 Docker是其中一种技术 ● 分类 ○ 自主创建:直接创建出来的Pod,这种pod删除后就没有了,也不会自动重建 ○ 控制器创建:通过控制器创建的pod,这类Pod删除了之后还会自动重建

埃泽漫笔 588
上一篇: K8s之资源常用操作命令
下一篇: Jmeter快速入门
Andrew_Notes
博客等级 码龄3年 183粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值