Linux企业应用——kubernates(三)之pod资源清单、编写yaml文件

本文深入探讨了Kubernetes中Pod的资源清单,包括如何编写yaml文件,详细介绍了设置镜像拉取策略、创建多容器Pod、端口映射、资源限制以及标签的使用。通过实例展示了如何将Pod分配到特定节点,并强调了正确配置标签以确保Pod正常调度的重要性。
摘要由CSDN通过智能技术生成

一个基本资源清单、yaml文件

apiVersion:String,K8S 的接口版本,使用:kubectl api-versions 可以看待当前支持的接口版本,常用的是 v1。

kind:String,指定资源清单的类型,如自主式 Pod 的类型就是 Pod。

metadata:Object,其下面主要的参数包含:
    labels:K / V,给这个资源打标签。
    name:String,给这个资源设置一个名称。
    namespace:String,指定资源所属的名称空间,默认是 default。

spec:Object,主要配置容器信息,其下面主要的参数包含:
    containers:List(必要参数),意味着可以定义多个,其下面的主要参数包含:
        name:String(必要参数),指定容器的名称。
        image:String,指定容器镜像。
        imagePullPolicy:String,值为 Always(无论本地是否有该镜像都去仓库拉取),Nerver(只用本地,不去仓库拉取),IfNotPresent(如果本地有,则不去仓库拉取,latest 版本除外)
        command:List,指定容器启动命令,替换容器默认的命令。
        args:List,指定容器启动命令的参数。
        workingDir:String,指定容器的工作目录。
        env:List,用于传递环境变量,其下面主要的参数包含:
            name:String,变量名称。
            value:String,变量的值。
        ports:List,其主要的参数包含:
            name:String,指定容器端口名称。
            containerPort:Integer(必要参数),指定容器监听的端口。
            protocol:String,协议类型。    
    restartPolicy:String,指定 Pod 重启策略,Always(停止就重启),OnFailure(错误推出则重启),Never(永不重启)

status:Object,系统生成,不需要用户定义。

快速创建一个模板

[root@k8s1 ~]# kubectl run demo --image=nginx --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
    resources: {
   }
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {
   }
[root@k8s1 ~]# kubectl run demo --image=nginx --dry-run=client -o yaml > pod.yaml

在这里插入图片描述


[root@k8s1 ~]# kubectl apply -f pod.yaml
pod/demo created
[root@k8s1 ~]# kubectl get pod
NAME                    READY   STATUS              RESTARTS   AGE
demo                    0/1     ContainerCreating   0          13s
[root@k8s1 ~]# kubectl delete -f pod.yaml
pod "demo" deleted
[root@k8s1 ~]# kubectl get pod
No resources found in default namespace.
[root@k8s1 ~]#

查看资源清单参数详解

[root@k8s1 ~]# kubectl explain pod.spec.containers

在这里插入图片描述

1.常见参数:设置镜像拉取策略参数imagePullPolicy

在这里插入图片描述

[root@k8s1 ~]# vim pod.yaml
[root@k8s1 ~]# kubectl apply -f pod.yaml
pod/demo created
[root@k8s1 ~]# kubectl get pod
NAME                    READY   STATUS    RESTARTS   AGE
demo                    1/1     Running   0          7
[root@k8s1 ~]# kubectl delete -f pod.yaml
pod "demo" deleted

2.常见参数:在一个pod内创建多个容器,注意不能使用相同镜像

在这里插入图片描述


[root@k8s1 ~]# vim pod.yaml
[root@k8s1 ~]# kubectl apply -f pod.yaml
pod/demo created
[root@k8s1 ~]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值