1.pod介绍
参考链接: https://kubernetes.io/zh/docs/concepts/workloads/pods/
1.1.查看pod
| [root@centos ~] |
| |
| [root@centos ~] |
1.2.pod的yaml资源清单格式
| apiVersion: v1 |
| kind: Pod |
| metadata: |
| name: |
| labels: |
| spec: |
| hostNetwork: true|false |
| nodeName: "指定的节点名称必须在etcd中有记录" |
| volumes: |
| - name: data01 |
| emptyDir:{} |
| - name: data02 |
| hostPath: |
| path: |
| - name: data03 |
| nfs: |
| server: |
| path: |
| - name: data04 |
| configMap: |
| name: |
| items: |
| contaners: |
| - name: |
| image: |
| env: |
| - name: |
| value: |
| - name: |
| value: |
| command: [] |
| args: [] |
| ports: |
| - containerPort: |
| hostIP: |
| hostPort: |
| name: |
| protocol: |
| imagePullPolicy: Alwasy|Never|IfNotPresent |
| resources: |
| request: |
| cpu: |
| memory: |
| limits: |
| cpu: |
| memory: |
| volumeMounts: |
| - name: |
| mountPath: |
| status: |
| |
1.3.yaml格式查找帮助方法
| [root@centos ~] |
| |
| [root@centos ~] |
| [root@centos ~] |
| [root@centos ~] |
2.pod创建
2.1.创建一个名为pod-nginx的pod
| [root@centos ~] |
| pod/nginx1 created |
| |
| [root@centos ~] |
| NAME READY STATUS RESTARTS AGE |
| nginx1 1/1 Running 0 41s |
2.2.YAML创建pod
| [root@centos ~] |
| apiVersion: v1 |
| kind: Pod |
| metadata: |
| name: pod-test-stress |
| spec: |
| containers: |
| - name: c1 |
| image: polinux/test-stress |
| command: ["test-stress"] |
| args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"] |
| |
| |
| |
| [root@centos ~] |
| pod/pod-test-stress created |
3.查看pod信息
3.1.查看pod信息
| [root@centos ~] |
| NAME READY STATUS RESTARTS AGE |
| pod-test-stress 1/1 Running 0 20s |
3.2.查看pod详细信息
| [root@centos ~] |
| NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES |
| pod-test-stress 1/1 Running 0 71s 10.244.194.72 k8s-worker1 <none> <none> |
3.3.描述pod详细信息
| [root@k8s-master1 ~] |
| ...... |
| Events: |
| Type Reason Age From Message |
| ---- ------ ---- ---- ------- |
| Normal Scheduled 102s default-scheduler Successfully assigned default/pod-test-stress to k8s-worker1 |
| Normal Pulling 102s kubelet Pulling image "polinux/test-stress" |
| Normal Pulled 83s kubelet Successfully pulled image "polinux/test-stress" in 18.944533343s |
| Normal Created 83s kubelet Created container c1 |
| Normal Started 82s kubelet Started container c1 |
4.删除pod
4.1.单个pod删除
4.2.多个pod删除
5.pod标签
5.1.查看pod标签
5.2.打标签并查看
| |
| pod/pod-test-stress labeled |
| |
| |
| NAME READY STATUS RESTARTS AGE LABELS |
| pod-test-stress 1/1 Running 0 8m54s bussiness=game,env=test-stress,region=huanai,zone=A |
5.3.通过等值关系标签查询
| |
| NAME READY STATUS RESTARTS AGE |
| pod-test-stress 1/1 Running 0 9m22s |
5.4.通过集合关系标签查询
| kubectl get pods -l "zone in (A,B,C)" |
| NAME READY STATUS RESTARTS AGE |
| pod-test-stress 1/1 Running 0 9m55s |
5.5.删除标签后再验证
| [root@k8s-master1 ~] |
| pod/pod-test-stress labeled |
| |
| [root@k8s-master1 ~] |
| NAME READY STATUS RESTARTS AGE LABELS |
| pod-test-stress 1/1 Running 0 16m <none> |
5.6.通过YAML创建Pod时添加标签
| 1.修改yaml |
| |
| apiVersion: v1 |
| kind: Pod |
| metadata: |
| name: pod-test-stress |
| namespace: default |
| labels: |
| env: dev |
| app: nginx |
| spec: |
| containers: |
| - name: c1 |
| image: polinux/stress |
| command: ["stress"] |
| args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"] |
| imagePullPolicy: IfNotPresent |
| |
| 2.直接apply应用 |
| |
| pod/pod-stress1 configured |
| |
| 3.验证 |
| kubectl get pods --show-labels |
| NAME READY STATUS RESTARTS AGE LABELS |
| pod-test-stress 1/1 Running 0 3m5s app=nginx,env=dev |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?