当前位置: 首页 > article >正文

Kubectl常用命令

1、格式化输出

输出格式说明
-o custom-columns=<spec>自定义列名输出,多个列以逗号分隔
-o custom-columns-file=<filename>设置自定义列名的配置文件名称
-o json以JSON格式展示
-o jsonpath=<template>输出jsonpath 表达式定义的字段信息
-o jsonpath-file=<filename>输出jsonpath表达式定义的字段信息,来源于文件
-o name 仅输出资源对象的名称
-o wide输出额外信息,例如pod将输出pod所在node信息
-o yaml以YAML格式显示结果

kubectl get  <kind> <名称> -o custom-columns= a,b.....

其中<kind> 可以是deployment(deploy),namespace(ns),pod,service(svc)等。

自定义列方式

kubectl get pod nginx-85b98978db-pv55z -o custom-columns=NAME:.metadata.name,RSRC:.metadata.resourtceVersion,NAMESPACE:.metadata.namespace
NAME                     RSRC     NAMESPACE
nginx-85b98978db-pv55z   <none>   default

自定义文件

kubectl get pod nginx-85b98978db-pv55z -o custom-columns-file=tmp.txt
NAME                     RSRC
nginx-85b98978db-pv55z   9815

YAML格式

 kubectl get pod nginx-85b98978db-pv55z -o yaml

输出额外信息

kubectl get pod nginx-85b98978db-pv55z -o wide
NAME                     READY   STATUS    RESTARTS      AGE    IP           NODE    NOMINATED NODE   READINESS GATES
nginx-85b98978db-pv55z   1/1     Running   2 (11h ago)   2d8h   172.17.0.2   node2   <none>           <none>

Json格式

kubectl get pod nginx-85b98978db-pv55z -o json

2、常用操作

创建 my-nginx.yaml文件

apiVersion: v1
kind: Namespace
metadata:
  name: wssnail-test  #指定namespace名称
  
---
apiVersion: v1 #版本
kind: Pod #类型为pod
metadata: #元数据
  name: my-nginx-pod   #指定pod名称,不会随机生成
  namespace: 'wssnail-test'   #指定namespace名称
  labels: #定义标签
    version: 1.0.0 #标签的值。可以有多个值
    env: test
spec:
  containers: #pod中容器描述
    - name: my-nginx-contaniner #指定容器名称
      image: nginx:1.21.4 #指定镜像
      imagePullPolicy: IfNotPresent  #always 总是拉取镜像;IfNotPresent如果本地没有镜像就从远程拉取;Never仅使用本地镜像,默认是alaways
      workingDir: /usr/share/nginx/html  #容器启动后的工作目录
      ports:
        - name: my-port #端口名称
          containerPort: 80 #端口
          protocol: TCP #网络协议 UDP、TCP
      resources: #所需资源
        limits: #最大分配资源
          memory: "200Mi"
          cpu: "700m"
        requests: #所需最少资源
          memory: "200Mi"
          cpu: "100m"
  restartPolicy: Always #重启策略 Always pod 一旦终止,无论如何终止都会重启,OnFailure 只有Pod以非零退出码终止;Never将退出码上报给master,不会重启

创建/删除资源

#创建
kubectl create  -f my-nginx.yaml       

#删除

kubectl delete -f my-nginx.yaml

查看资源信息

#列出 namespace下所有的pod 
kubectl get pod -n <namespace名称>
kubectl get pod -n wssnail-test

#查看资源的详细信息
kubectl describe pod <pod名称> -n <namespace名称>
kubectl describe pod my-nginx-pod -n wssnail-test

#资源更新监控
kubectl get pod -n wssnail-test -w

kubectl get pod -n wssnail-test --watch

#显示标签
kubectl get pod my-nginx-pod -n wssnail-test --show-labels

#修改标签
kubectl label pod my-nginx-pod -n wssnail-test version=2.0 --overwrite

进入pod内部

#进入pod内
kubectl -exec -it <pod名称> -n <namespace名称> -- /bin/bash
kubectl exec -it my-nginx-pod -n wssnail-test -- /bin/bash

#输出pod内容器的日志
kubectl logs -f <pod名称> -n <namespace名称>
kubectl logs -f my-nginx-pod -n wssnail-test

在线编辑资源对象

#编辑资源
kubectl edit pod <pod名称> -n <namespace>
kubectl edit pod my-nginx-pod -n wssnail-test

将pod端口号映射到宿主机

#将端口号映射到宿主机 ,这样在当前宿主机就可以通过ip:8080访问到80的pod容器
kubectl port-forward --address 0.0.0.0 pod/<pod名称> -n <namespace> 8080:80 
kubectl port-forward --address 0.0.0.0 pod/my-nginx-pod -n wssnail-test  8080:80

其他指令

#列出版本
 kubectl api-versions

#从配置文件更新资源配置
kubectl apply -f <filename.yml>

#查看kubectl版本
kubectl version 

http://www.kler.cn/a/282196.html

相关文章:

  • OMV7 树莓派 tf卡安装
  • 【配置后的基本使用】CMake基础知识
  • Failed to create a temp file - Jenkins 无法创建任务
  • 【网络安全 | 漏洞挖掘】通过密码重置污染实现账户接管
  • SpringBoot配置相关的内容
  • [前端面试]javascript
  • 深度强化学习算法(三)(附带MATLAB程序)
  • Python酷库之旅-第三方库Pandas(105)
  • 2012-2022年各省新质生产力匹配数字经济数据
  • 通过 pnpm 安装依赖包会发生什么
  • 【Java】Java 设计模式之工厂模式与策略模式
  • 本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程
  • 力扣题/回溯/子集
  • java.time包时间类浅谈
  • C语言中的int argc, char *argv[]是什么?
  • 设计模式 10 外观模式
  • mysql集群从零开始搭建
  • Qt详解QUrl
  • CSS动画魔法:用@keyframes点亮你的网页
  • Python操作Excel的十大技巧
  • 算法的学习笔记—数据流中的中位数(牛客JZ41)
  • 数学建模~~~预测方法--决策树模型
  • pyautogui的一些自动化示例,附代码
  • 新手如何找到正确入行 Web3 路径?揭开职业启航新篇章
  • linux驱动 -- 输入子系统
  • 【STM32】SPI