【k8s】4、pod

学习内容:k8s详细教程-调整版/k8s详细教程.md · yooome/LearningNotes - Gitee.com

        Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。
        Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。

1、创建

[root@master01 4.1]# kubectl create ns dev
namespace/dev created
[root@master01 4.1]#
# --image=镜像:版本
# --port=指定端口
# --namespace=指定namespace
[root@master01 4.1]# kubectl run nginx --image=nginx:latest --port=80 --namespace dev 
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx created
[root@master01 4.1]#

2、查看pod信息

[root@master01 4.1]# kubectl get pods -n dev
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dd6b5d745-46gb4   1/1     Running   0          16s
[root@master01 4.1]#[root@master01 4.1]# kubectl describe pod nginx -n dev
Name:         nginx-dd6b5d745-46gb4
Namespace:    dev
Priority:     0
Node:         node02/192.168.254.176
Start Time:   Mon, 05 Dec 2022 23:15:00 +0800
Labels:       pod-template-hash=dd6b5d745
              run=nginx
Annotations:  <none>
Status:       Running
IP:           10.244.2.2
IPs:
  IP:           10.244.2.2
...

[root@master01 4.1]# 

3、访问pod

[root@master01 4.1]# kubectl get pods -n dev -o wide
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
nginx-dd6b5d745-46gb4   1/1     Running   0          60s   10.244.2.2   node02   <none>           <none>
[root@master01 4.1]# curl http://10.244.2.2:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@master01 4.1]# 

4、删除pod

[root@master01 4.1]# kubectl delete pod nginx-dd6b5d745-46gb4 -n dev
pod "nginx-dd6b5d745-46gb4" deleted

# 此时,显示删除Pod成功,但是再查询,发现又新产生了一个 
[root@master01 4.1]# kubectl get pods -n dev
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dd6b5d745-x48rj   1/1     Running   0          26s

# 这是因为当前Pod是由Pod控制器创建的,控制器会监控Pod状况,一旦发现Pod死亡,会立即重建
# 此时要想删除Pod,必须删除Pod控制器
# 先来查询一下当前namespace下的Pod控制器
[root@master01 4.1]# kubectl get deploy -n  dev
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           2m37s

# 接下来,删除此PodPod控制器
[root@master01 4.1]# kubectl delete deploy nginx -n dev
deployment.apps "nginx" deleted

[root@master01 4.1]# kubectl get pods -n dev
No resources found in dev namespace.
[root@master01 4.1]# 

5、配置操作

[root@master01 4.2]# cat pod-nginx.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: dev
spec:
  containers:
  - image: nginx:latest
    name: pod
    ports:
    - name: nginx-port
      containerPort: 80
      protocol: TCP
[root@master01 4.2]# kubectl create -f pod-nginx.yaml
pod/nginx created

[root@master01 4.2]# kubectl get pod -n dev
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          17s

[root@master01 4.2]# kubectl delete -f pod-nginx.yaml 
pod "nginx" deleted
[root@master01 4.2]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值