Kubernetes-集群指令合集

目录

1. 集群状态相关的指令

2. Pod相关指令

3. 资源管理相关指令 

4. 名称空间相关指令

5. Deployment 管理

6. Service 管理

7. Ingress 管理(如有配置 Ingress)

8. 配置管理


1. 集群状态相关的指令

 

查看集群信息

kubectl cluster-info
# 该命令显示 Kubernetes 控制平面及相关服务的 URL 地址。

查看所有节点状态

kubectl get nodes
# 该命令显示集群中所有节点的状态,包括 Ready、NotReady 等。

查看节点详细信息

kubectl describe node <node-name>
# 该命令显示指定节点的详细信息,如资源使用情况、标签、污点等。

查看控制平面组件状态

kubectl get componentstatuses
# 该命令显示 etcd、scheduler、controller-manager 等控制平面组件的健康状态。

查看节点的资源使用情况

kubectl top nodes
# 该命令显示每个节点的 CPU 和内存使用情况。

查看 Pod 的资源使用情况

kubectl top pods -n <namespace>

查看集群事件

kubectl get events -A
# 该命令显示集群中的事件日志,可以帮助诊断问题

查看当前上下文和配置

kubectl config view
# 该命令显示当前 kubectl 配置文件的内容,包括上下文、集群和用户信息。

设置集群上下文 

kubectl config use-context <context-name>

检查 DNS 服务是否正常

kubectl run --rm -i --tty busybox --image=busybox --restart=Never -- nslookup kubernetes.default
# 该命令启动一个临时的 Pod 并测试 DNS 解析是否正常。

2. Pod相关指令

Pod 是最小的部署单元


查看所有命名空间中的 Pod

kubectl get pods -A

查看当前命名空间中的 Pod

kubectl get pods

查看指定命名空间中的 Pod

kubectl get pods -n <namespace>

查看 Pod 的详细信息

kubectl describe pod <pod-name> -n <namespace>

通过 YAML 文件创建 Pod

kubectl apply -f <pod.yaml>

删除 Pod

kubectl delete pod <pod-name> -n <namespace>

强制删除 Pod

kubectl delete pod <pod-name> --grace-period=0 --force -n <namespace>
# 该命令会立即删除 Pod,而不等待其优雅终止。

查看 Pod 日志

kubectl logs <pod-name> -n <namespace>

查看特定容器的日志

kubectl logs <pod-name> -c <container-name> -n <namespace>

查看 Pod 的事件日志

kubectl describe pod <pod-name> -n <namespace>
# 这个命令的输出中会包含与 Pod 相关的事件,如创建、调度失败、容器重启等信息

进入 Pod 内部执行命令

kubectl exec -it <pod-name> -n <namespace> -- /bin/sh

查看 Pod 的资源使用情况

kubectl top pod <pod-name> -n <namespace>
# 该命令显示 Pod 的 CPU 和内存使用情况

列出 Pod 的 IP 地址

kubectl get pods -o wide -n <namespace>
# 该命令显示 Pod 的详细信息,包括 IP 地址、节点名称等

查看 Pod 的所有者

kubectl get pods <pod-name> -n <namespace> -o jsonpath='{.metadata.ownerReferences[0].name}'

3. 资源管理相关指令 

 

查看资源(Pod、Deployment、Service 等)

kubectl get <resource> -n <namespace>

创建资源

kubectl apply -f <resource.yaml>
# 通过 YAML 文件创建资源。

删除资源

kubectl delete <resource> <resource-name> -n <namespace>

更新资源

kubectl apply -f <resource.yaml>
# 使用更新后的 YAML 文件重新应用配置。

查看资源详细信息

kubectl describe <resource> <resource-name> -n <namespace>

列出所有资源类型

kubectl api-resources

4. 名称空间相关指令

在 Kubernetes 中,名称空间(Namespace)用于在同一个物理集群中划分逻辑分区,以便在不同的环境中隔离资源。 

列出所有名称空间

kubectl get namespaces
# 显示集群中的所有名称空间及其状态

查看名称空间详细信息

kubectl describe namespace <namespace-name>
# 显示指定名称空间的详细信息,包括资源配额、限制等

创建新名称空间

kubectl create namespace <namespace-name>

通过 YAML 文件创建名称空间 

创建一个名为 namespace.yaml 的文件

apiVersion: v1
kind: Namespace
metadata:
  name: my-namespace

然后执行:

kubectl apply -f namespace.yaml

删除名称空间

kubectl delete namespace <namespace-name>
# 注意:删除名称空间会删除该名称空间内的所有资源。

设置当前上下文的默认名称空间】

kubectl config set-context --current --namespace=<namespace-name>
# 该命令将当前上下文中的默认名称空间设置为指定的名称空间。

查看特定名称空间中的资源

kubectl get <resource> -n <namespace>

在特定名称空间中创建资源

kubectl create -f <resource.yaml> -n <namespace>

删除特定名称空间中的资源

kubectl delete <resource> <resource-name> -n <namespace>

5. Deployment 管理

 

查看所有 Deployment

kubectl get deployments -n <namespace>

查看特定 Deployment 的详细信息

kubectl describe deployment <deployment-name> -n <namespace>

创建或更新 Deployment

kubectl apply -f <deployment.yaml>
# 通过 YAML 文件创建或更新 Deployment。

删除 Deployment

kubectl delete deployment <deployment-name> -n <namespace>

扩展 Deployment(调整副本数量)

kubectl scale deployment <deployment-name> --replicas=<number> -n <namespace>

滚动更新 Deployment

kubectl rollout restart deployment <deployment-name> -n <namespace>

回滚 Deployment

kubectl rollout undo deployment <deployment-name> -n <namespace>
# 将 Deployment 回滚到上一个版本

查看 Deployment 的滚动更新状态

kubectl rollout status deployment <deployment-name> -n <namespace>
# 检查 Deployment 的更新进度和状态

6. Service 管理

查看所有 Service

kubectl get services -n <namespace>

查看特定 Service 的详细信息

kubectl describe service <service-name> -n <namespace>

创建 Service

kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> --type=<type> -n <namespace>
  • --port 指定 Service 暴露的端口。
  • --target-port 指定 Pod 内部容器的端口。
  • --type 指定 Service 类型,例如 ClusterIPNodePortLoadBalancer

删除 Service

kubectl delete service <service-name> -n <namespace>

7. Ingress 管理(如有配置 Ingress)

查看所有 Ingress 资源

kubectl get ingress -n <namespace>

查看特定 Ingress 的详细信息

kubectl describe ingress <ingress-name> -n <namespace>

创建或更新 Ingress

kubectl apply -f <ingress.yaml>

删除 Ingress

kubectl delete ingress <ingress-name> -n <namespace>

 

8. 配置管理

创建 ConfigMap

kubectl create configmap <configmap-name> --from-literal=<key>=<value> -n <namespace>

或者从文件创建

kubectl create configmap <configmap-name> --from-file=<file-path> -n <namespace>

查看 ConfigMap

kubectl get configmaps -n <namespace>

查看 ConfigMap 详细信息

kubectl describe configmap <configmap-name> -n <namespace>

删除 ConfigMap

kubectl delete configmap <configmap-name> -n <namespace>

创建 Secret

kubectl create secret generic <secret-name> --from-literal=<key>=<value> -n <namespace>

或者从文件创建

kubectl create secret generic <secret-name> --from-file=<file-path> -n <namespace>

查看 Secret

kubectl get secrets -n <namespace>

查看 Secret 详细信息

kubectl describe secret <secret-name> -n <namespace>

删除 Secret

kubectl delete secret <secret-name> -n <namespace>
  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZDICT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值