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

Realtek 10GbE芯片组解析:低成本高速网络方案

10GbE(万兆以太网)技术通过提升网络带宽,显著改善了数据传输效率,成为现代网络架构的核心组件。其工作原理基于高速串行通信协议,通过优化信号处理和编码技术实现低延迟、高吞吐量。在技术价值上,10GbE不仅满足数据中心和企业网络的高需求,还逐步渗透到消费级市场,推动家庭和小型企业的网络升级。应用场景包括NAS存储、视频编辑工作站和云服务接入等。Realtek最新发布的RTL8127、RTL8159和RTL8261C芯片组,以低功耗和低成本优势,进一步降低了10GbE的普及门槛。这些芯片支持PCIe Gen4

weixin_36427956的博客 583

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的博客 2767

LiteOS | 基于LiteOS的智慧农业案例实验分享

分享一个基于小熊派+LiteOS+华为云的案例实验(智慧农业)。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOS LiteOS是华为开发的轻量级实时操作系统: LiteOS源码GitHub仓库链接: https://github.com/LiteOS/LiteOS 其源码一级目录结构如下: 其内核包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管...

嵌入式大杂烩 5990

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

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

秣宇的博客 925

Win11下DCMTK的Visual Studio 2022配置教程

最近有个新需求,需要完成读取和解析DICOM数据相关的SDK

qq_45797625的博客 3261

【导航】ESP32 教学篇目录 【快速跳转】

本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 的WIFI及连接的程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓通过下方 按钮 进入专栏主页↓↓↓ 专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) WIFI二级专栏:点击进入→ESP32 上的 WiFi ............

Augtons 的博客 3万+

【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

PLC模糊控制模糊PID(梯形图实现+算法分析)

博途PLC的模糊PID控制详细内容请查看下面的博客文章:Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-优快云博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容水箱的模糊PID问题做详细讲解(包括所有源代码和模糊规则设置参数)。

RXXW_Dor的博客 5883

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

JavaFx 教程

JavaFx 教程

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 784

DPABISurf使用教材

严老师的官方教程:http://rfmri.org/Course DPABISurf版本:dpabi50docker.tar.gz MATLAB版本:2018b 一、数据准备 (1)如果是数据的DICOM格式,整理成以下格式(注意文件夹的命名方式): 如果觉得不是很清楚,可以在官网下载Demo数据(http://rfmri.org/DemoData),参照里面的文件格式进行整理即可。 (2)如果数据是nii格式,整理成以下格式: 这里没有使用官网的demo数据进行学习,而是..

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 8514

kubernetes基本概念 pod, service

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

weixin_30781433的博客 149

PostgreSQL 异常排查:读取流时发生异常 (x80004005)

通过以上步骤,您应该能够解决在 .NET Core 中与 PostgreSQL 数据库进行交互时出现异常 (x80004005) 的问题。确保数据库连接正确,查询语句准确,并使用兼容的驱动程序版本。如有必要,可以捕获异常并查看详细的错误信息,以便更好地排查问题。在使用 .NET Core 开发应用程序时,如果在与 PostgreSQL 数据库进行交互时遇到异常,例如在读取数据流时发生异常 (x80004005),我们需要进行排查和修复。另外,还可以尝试捕获异常并打印异常信息,以便更好地了解问题所在。

XwlyVue的博客 1621

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

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

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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

干货!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、付费专栏及课程。

余额充值