9、k8s-资源-Pod
Pod是kubernetes集群进行管理的最小单元、程序要运行必须部署在容器中、而容器必须存在于Pod中。
Pod可以认为是容器的封装、一个Pod中可以存在一个或者多个容器。
#注:kubernetes集群在启动之后、集群中的各个组件也都是以Pod方式运行的
1、查看某个namespace空间的pod:[root@master0 ~]# kubectl get pods -n kube-system ============================================================================== NAME READY STATUS RESTARTS AGE coredns-6955765f44-5jfp2 1/1 Running 1 25h coredns-6955765f44-cffjp 1/1 Running 1 25h etcd-master0 1/1 Running 3 25h kube-apiserver-master0 1/1 Running 3 25h kube-controller-manager-master0 1/1 Running 3 25h kube-flannel-ds-amd64-hlf7w 1/1 Running 3 24h kube-flannel-ds-amd64-wz6z2 1/1 Running 4 24h kube-proxy-7296b 1/1 Running 3 25h kube-proxy-swfdr 1/1 Running 4 24h kube-scheduler-master0 1/1 Running 3 25h ==============================================================================
Pod的增删查
-------------------------------运行pod-----------------------
运行pod和查pod: 1、创建并运行pod: [root@master0 ~]# kubectl run nginx --image=nginx:1.17.2 --port=80 --namespace dev =================================== 命令格式:kubectl run (Pod控制器名) [参数] #--image= 指定pod的镜像 #--port= 指定端口 #--namespace 指定namespace空间 ==================================== 2、查看运行在dev里的pod: [root@master0 ~]# kubectl get pods -n dev 或:[root@master0 ~]# kubectl get pods -n dev -o wide (-o wide是查看额外的参数) 3、查看某个空间里的某个pod的详细信息:[root@master0 ~]# kubectl describe pod nginx-67dbc8d8dc-kjsdm -n dev ----------------------------访问pod-------------------------- 访问pod: 1、先查看pod的信息:[root@master0 ~]# kubectl get pod -n dev -o wide ======================================= NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-67dbc8d8dc-kjsdm 1/1 Running 0 8m55s 10.244.1.13 node1 <none> <none> ======================================== 2、访问pod:[root@master0 ~]# curl 10.244.1.13:80 #使用上面的ip:端口(前面创建时指定的端口80) ------------------------删除pod------------------------- #注意:使用run运行pod的时候实际就是创建了一个pod控制器、pod控制器一旦发现pod死掉或者没了、就会自动启动pod或者自动新建一个pod、所以单单删除pod某个后、pod控制器还是会再启动一个pod的、除非删除pod运行的namespace空间或者删除pod控制器 查看某个空间里的控制器:[root@master0 ~]# kubectl get deployment -n dev ======================================== NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 16m #这里的nginx就是pod控制器的名称 ======================================== 1、删除pod:[root@master0 ~]# kubectl delete pod nginx-67dbc8d8dc-kjsdm -n dev 2、删除某个空间里的控制器:[root@master0 ~]# kubectl delete deployment nginx -n dev ====================================== deployment.apps "nginx" deleted #删除成功 ======================================
pod的配置yaml文件:
======================== apiVersion: v1 kind: Pod metadata: name: nginx #pod名 namespace: dev spec: containers: - image: nginx:1.17.1 name: pod #容器名 ports: - name: nginx-port containerPort: 80 protocol: TCP # name: nginx 是pod名 #spec 是描述 #- image: nginx:1.17.1 - 代表数组 # name: pod 是容器名 ================================
1、创建pod:[root@master0 ~]# kubectl create -f pod-nginx.yaml
2、删除pod:[root@master0 ~]# kubectl delete -f pod-nginx.yaml
本文作者:littlecc
本文链接:https://www.cnblogs.com/littlecc/p/17552370.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步