首页 > 其他分享 >k8s-03-Pod

k8s-03-Pod

时间:2024-07-01 14:58:39浏览次数:16  
标签:03 kubectl -- 标签 get Pod k8s pod

Pod

  1. pod 是逻辑主机, 其行为与非容器世界中的物理主机或虚拟机非常相似。此外, 运行在同一个pod 中的进程与运行在同一物理机或虚拟机上的进程相似, 只是每个进程都封装在一个容器之中。

  2. pod 定义由这么几个部分组成: 首先是 YAML 中使用的 Kubemetes API 版本和 YAML 描述的资源类型;其次是几乎在所有 Kubemetes 资源中都可以找到的三大重要部分:

    • metadata 包括名称、命名空间、标签和关于该容器的其他信息。
    • spec 包含pod 内容的实际说明, 例如 pod 的容器、卷和其他数据。
    • status 包含运行中的 pod 的当前信息,例如 pod 所处的条件、每个容器的描述和状态,以及内部 IP 和其他基本信息。
  3. API 对象字段

    kubectl explain pods
    kubectl explain pods.spec
    
  4. 通过 YAML 创建 Pod

    kubectl create -f <YAML-NAME>
    
  5. 获取完整 Pod 定义

    kubectl get po <Pod-NAME> -o yaml
    
  6. 查看日志

    zkubectl logs &lt;Pod-NAME&gt;
    
    # 如果有多个容器,需要指定容器名字
    kubectl logs <Pod-Name> -c <Contain-Name>
    
  7. 端口转发

    kubectl port-forward <Pod-Name> <out-port>:<inter-port>
    
  8. 全丝雀发布:在部署新版本时, 先只让一小部分用户体验新版本以观察新版本的表现, 然后再向所有用户进行推广,这样可以防止暴露有问题的版本给过多的用户。

  9. 显示标签(label)

    kubectl get pod --show-labels
    
    # 单独列显示label
    kubectl get pod -L <label-key>,<label-key>
    
  10. 修改标签

    kubectl label po <pod-name> <label-key>=<label-value>
    
    # 在更改现有标签时, 需要使用--overwrite选项。
    kubectl label po <pod-name> <label-key>=<label-value> --overwrite
    
  11. 标签选择器根据资源的以下条件来选择资源:

    • 包含(或不包含)使用特定键的标签
    • 包含具有特定键和值的标签
    • 包含具有特定键的标签, 但其值与我们指定的不同
  12. 根据标签列出pod

    kubectl get pod -l <label-key>[=<label-value>]
    
    # !:取反,in,notin,
    
  13. node 也可以添加标签

    kubectl label node node1 gpu=true
    kubectl get nodes -1 gpu=true
    
    # 在 yaml 中说明使用此节点
    #spec:
    #  nodeSelector:
    #  gpu: "true"
    
  14. 添加或修改注解

    kubect1 annotate pod <pod-name> <annotate-key>=<annotate-value>
    
  15. 命名空间:为对象名称提供了一个作用域。将包含大量组件的复杂系统拆分为更小的不同组,这些不同组也可以用于在多租户环境中分配资源,将资源分配为生产、开发和 QA 环境,或者以其他任何你需要的方式分配资源。除了隔离资源,命名空间还可用于仅允许某些用户访问某些特定资源,甚至限制单个用户可用的计算资源数量。

  16. 获取命名空间

    kubectl get ns
    kubectl get po --namespace kube-system
    
  17. 创建命名空间

    kubectl create namespace <ns-name>
    
  18. 移除和停止 pod

    # 按照名称
    kubectl delete pod <Pod-Name>
    
    # 按照标签
    kubectl delete pod -l <label-key>=<label-volue>
    
    # 按照命名空间
    kubectl delete ns <NS-Name>
    
    # 删除此NS下所有Pod
    kubectl delete pod --all
    
    # 删除RC和Pod
    kubectl delete all -all
    
  19. 小结

    • 使用标签来组织pod, 并且一次在多个pod 上执行操作。
    • 使用节点标签将 pod 只调度到提供某些指定特性的节点上。
    • 注解允许人们、工具或库将更大的数据块附加到pod。
    • 命名空间可用于允许不同团队使用同一集群, 就像它们使用单独的 Kubemetes 集群一样。
    • 使用kubectl explain 命令快速查看任何 Kubernetes 资源的信息。

标签:03,kubectl,--,标签,get,Pod,k8s,pod
From: https://www.cnblogs.com/colasdn/p/18278071

相关文章

  • K8s摘抄及理解
    摘抄及理解目录摘抄及理解ReplicationController和PodReplicationController和ReplicaSet[1]Kubernetes核心组件创建Pod流程RBAC授权[2]Role和ClusterRoleRoleBinding和ClusterRoleBindingResourceSubject静态PodPodHook(生命周期钩子)健康检查InitContainer(初始化......
  • K8s 问题及解答
    问题及解答kubectlproxy命令及其含义,如何通过proxy访问kubernetes集群?Createsaproxyserverorapplication-levelgatewaybetweenlocalhostandtheKubernetesAPIServer.ItalsoallowsservingstaticcontentoverspecifiedHTTPpath.Allincomingdata......
  • 浅谈 K8s Service 网络机制
    浅谈K8sService网络机制云原生运维圈 2024-07-0112:03 上海 1人听过 以下文章来源于腾讯云原生 ,作者王成腾讯云原生.云原生技术交流阵地,汇聚云原生最新技术资讯、文章、活动,以及云原生产品及用户最佳实践内容。王成,腾讯云研发工程师,Kubernetesmember,从......
  • 代码随想录算法训练营第50天 | 1143.最长公共子序列 、1035.不相交的线 、53. 最大子
    这几题都挺类似,都是求最长公共子序列,有些题目稍微变了下1143.最长公共子序列体会一下本题和718.最长重复子数组的区别视频讲解:https://www.bilibili.com/video/BV1ye4y1L7CQhttps://programmercarl.com/1143.最长公共子序列.html/***@param{string}text1*@param{......
  • Electron | throw new Error('Electron failed to install correctly, please delete
    https://github.com/electron-vite问题原因在install的时候node_modules/electron/中的文件丢失造成程序无法执行解决方案要重新安装加载electron。这只是其中一个解决方案。参考https://github.com/pangxieju/electron-fix//1.npminstal//2.npminstall-gelectron......
  • 【Redis —— 03 SpringBoot整合Redis】
    SpringBoot整合Redis是一种常见的做法,用于提升应用的性能和可扩展性。通过将Redis作为缓存或数据存储,应用可以实现快速的数据读写和高效的资源管理。以下是一个基本的整合步骤:1.引入依赖首先,在你的pom.xml文件中添加Redis和SpringDataRedis的依赖:<!--Sprin......
  • Proteus仿真实例_基于51单片机的二层电梯控制系统(仿真文件+程序)24-51f-03
    一.系统概述1.电梯有上行和下行功能,有一个电机通过正反转控制,分别用两个指示灯表示;2.有开门和关门功能,有一个电机通过正反转控制,分别用两个指示灯表示;3.电梯内部具有开门、关门按钮,带相应指示灯:4.超重和延时报警功能,超重信号保持功能。二.仿真概述 1.进入仿真,数码管......
  • 033基于SSM+Jsp的多用户博客个人网站
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示管理员登录管理员功能界面博文类型管理界面管理员管理我的收藏留言板管理客服聊天管理学生功......
  • 032基于SSM+Jsp的多人命题系统
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示管理员登录学生管理教师信息命题信息系统管理教师注册教师前台个人中心公告信息试题信息......
  • Leetcode 3203. Find Minimum Diameter After Merging Two Trees
    Leetcode3203.FindMinimumDiameterAfterMergingTwoTrees1.解题思路2.代码实现题目链接:3203.FindMinimumDiameterAfterMergingTwoTrees1.解题思路这一题的话算是一个拓扑树的题目?总之就是从树的叶子节点不断向上遍历,不断地删除已访问的叶子节点,并加入......