k8s通过yaml创建pod_如何使用YAML创建Pod

f4505c118596cb4856ce536ce803c0d7.gif

上期,我们学习了什么是YAML文件。本期课程,我们来学习如何使用YAML创建Pod。

piVersion: v1

kind: Pod

metadata:

  name: static-web

  labels:

    app: web

spec:

  containers:

    - name: web-front

      image: nginx

      ports:

        - name: web

          containerPort: 80

          protocol: TCP

上面的YAML配置定义的一个普通的POD 文件,我们先来简单分析下文件内容:

apiVersion:此处值是v1,这个版本号需要根据安装的Kubernetes版本和资源类型进行变化,记住不是写死的。

kind:此处创建的是Pod,根据实际情况,此处资源类型可以是Deployment、Job、Ingress、Service等。

metadata:包含Pod的一些meta信息,比如名称、namespace、标签等信息。

spec:包括一些container,storage,volume以及其他Kubernetes需要的参数,以及诸如是否在容器失败时重新启动容器的属性。可在特定Kubernetes API找到完整的Kubernetes Pod的属性。

585470fa6d328dab1f040f9d483177f2.png

查看apiVersion

[root@vms20 pod]# kubectl api-versions

admissionregistration.k8s.io/v1

...

apiregistration.k8s.io/v1

apiregistration.k8s.io/v1beta1

apps/v1

authentication.k8s.io/v1

authentication.k8s.io/v1beta1

authorization.k8s.io/v1

authorization.k8s.io/v1beta1

...

v1

585470fa6d328dab1f040f9d483177f2.png

一个典型的容器定义

spec:

  containers:

    - name: front-end

      image: nginx

      ports:

        - containerPort: 80

上述例子只是一个简单的最小定义:一个名字(front-end)、基于nginx的镜像,以及容器将会监听的指定端口号(80)

除了上述的基本属性外,还能够指定复杂的属性,包括容器启动运行的命令、使用的参数、工作目录以及每次实例化是否拉取新的副本。还可以指定更深入的信息,例如容器的退出日志的位置。容器可选的设置属性包括:

name、image、command、args、workingDir、ports、env、resource、volumeMounts、livenessProbe、readinessProbe、livecycle、terminationMessagePath、imagePullPolicy、securityContext、stdin、stdinOnce、tty

585470fa6d328dab1f040f9d483177f2.png

kubectl创建Pod

明白了POD 的定义后,我们将上面创建POD 的YAML 文件保存成pod.yaml,然后使用kubectl创建POD:

[root@vms20 pod]# kubectl apply -f pod.yaml

pod/static-web created

585470fa6d328dab1f040f9d483177f2.png

查看Pod状态

使用我们kubectl get pods命令来查看POD 的状态:

[root@vms20 pod]# kubectl get pods -l app=web

NAME         READY   STATUS    RESTARTS   AGE

static-web   1/1     Running   0          2m23s

fc9437a1d7194d91454db0fcef11ab36.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值