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

 

posted @ 2024-07-01 00:09  little小新  阅读(1)  评论(0编辑  收藏  举报