k8s资源清单创建pod

资源:对象

service pod deployment

workload:pod,ReplicaSet,Deployment,statefulset,DaemonSet,Job,Crontabjob,...

服务发现和均衡:service ,Ingress,....

配置与存储:Volumn存储卷 ,CSI存储接口

ConfigMap,Secret,

DownwardAPI

集群级资源:namespace,Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding,

元数据型资源

HPA,PodTemplate,LimitRange

kubectl get pod myapp-84cd4b7f95-h47cj -o yaml

yml文件查看pod详细的配置清单

创建资源的方法:

apiserver仅接收JSON格式的资源定义;

yaml格式提供配置清单,apiserver可自动转为json格式,而后在提交

kubectl api-versions 查看所有的apiversions

大部分资源的配置清单:

apiVerison:group/version,

kind:资源类别

metadata:元数据

  name

  namespace

  labels

  annotations 资源注解

   每个资源的引用PATH

        /api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME

spec:规格 期望的状态 disired state

status:当前状态,current state,本字段由kubernetes集群维护;用户不能定义

kubectl explain pods 查询pods怎么定义

kubectl explain pods.metadata 查询podsmetadata怎么定义

kubectl explain pods.spec

kubectl explain pods.spec.containers

kubectl explain pods.spec.containers.livenessProbe

例如:自定义一个pod资源清单

vim pod-demo.yaml

apiVersion: v1

kind: Pod

metadata:

  name: pod-demo

  namespace: default

  labels:

    app: myapp

    tier: frontend

spec:

  containers:

  - name: myapp

    image: ikubernetes/myapp:v1

  - name: busybox

    image: busybox:latest

注释:

spec:

  containers:

  - name: myapp

    image: ikubernetes/myapp:v1

相当于 spec:{containers:['name:myapp'],image:"ikubernetes/myapp:v1"}

  command:

    - "/bin/sh"

    - "-c"

    - "sleep 3600"

相当于 command:["/bin/sh","-c","sleep 3600"]

kubectl create -f pod-demo.yaml    基于yaml清单文件创建pod资源

从文件加载创建资源

kubectl get pods 再查看一下创建的pod

kubectl describe pods pod-demo 查看创建的资源的描述信息

查看容器日志

kubectl logs pod-demo myapp

           pod名  pod里面的容器名

进入容器

kubectl exec -it pod-demo -c myapp -- /bin/sh

        输入和终端 pod-c指定容器名 --执行的命令

kubectl delete -f pod-demo.yaml 删除基于资源清单yaml文件定义的资源

猜你喜欢

转载自www.cnblogs.com/leiwenbin627/p/11285892.html