• Pod的使用


    Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。

    Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。

    image-20220516153844775

    kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。可以通过下面命令查看:

    kubectl get pod -n kube-system
    

    image-20220516154101170

    创建并运行

    kubernetes没有提供单独运行Pod的命令,都是通过Pod控制器来实现的

    # 命令格式: kubectl run (pod控制器名称) [参数] 
    # --image  指定Pod的镜像
    # --port   指定端口
    # --namespace  指定namespace
    kubectl run nginx --image=nginx:1.17.1 --port=80 --namespace dev 
    

    注意先创建名称空间

    image-20220516154749048

    查看pod信息

    查看Pod基本信息

    # 查看Pod基本信息
    kubectl get pods -n dev
    

    image-20220516154918390

    查看Pod的详细信息

    # 查看Pod的详细信息
    kubectl describe pod nginx -n dev
    

    image-20220516155016460

    访问Pod

    获取podIP

    # 获取podIP
    kubectl get pods -n dev -o wide
    

    image-20220516155323019

    访问POD

    curl 10.244.1.12
    

    image-20220516155433057

    删除指定Pod

    删除指定Pod

    # 删除指定Pod
    kubectl delete pod nginx-64777cd554-wdvk7 -n dev
    

    image-20220516160218549

    查询当前namespace下的Pod控制器

    # 此时,显示删除Pod成功,但是再查询,发现又新产生了一个 
    kubectl get pods -n dev
    
    # 这是因为当前Pod是由Pod控制器创建的,控制器会监控Pod状况,一旦发现Pod死亡,会立即重建
    # 此时要想删除Pod,必须删除Pod控制器
    
    # 先来查询一下当前namespace下的Pod控制器
    kubectl get deployment -n  dev
    

    image-20220516160427377

    删除此Pod Pod控制器

    # 接下来,删除此Pod Pod控制器
    kubectl delete deployment nginx -n dev
    
    # 稍等片刻,再查询Pod,发现Pod被删除了
    kubectl get pods -n dev
    

    image-20220516160528759

    配置操作

    创建一个pod-nginx.yaml

    vi 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
    

    然后就可以执行对应的创建和删除命令了:

    创建:

    kubectl create -f pod-nginx.yaml
    

    删除:

    kubectl delete -f pod-nginx.yaml
    
  • 相关阅读:
    为什么C++(感谢waterwalk翻译)
    容器操作笔记
    如此理解面向对象编程
    C++初学者小细节(不定时更新)
    Sales_item 专题
    10步让你成为更优秀的程序员
    C++ PRIMER 笔记
    C++ 异常处理
    透明度 rgba 和 opacity 的区别
    盒模型
  • 原文地址:https://www.cnblogs.com/makalochen/p/16277363.html
Copyright © 2020-2023  润新知