以下是一些常用的 kubectl
命令,用于管理 Kubernetes 集群和资源:
基本命令
-
查看集群信息:
kubectl cluster-info
- 显示 Kubernetes 集群的信息。
-
查看节点:
kubectl get nodes
- 列出集群中的所有节点。
-
查看所有资源:
kubectl get all
- 获取当前命名空间中的所有资源。
管理 Pod
-
查看所有 Pod:
kubectl get pods
- 列出当前命名空间中的所有 Pod。
-
描述 Pod:
kubectl describe pod [pod_name]
- 获取指定 Pod 的详细信息。
-
查看 Pod 日志:
kubectl logs [pod_name]
- 显示指定 Pod 的日志。
-
在 Pod 中执行命令:
kubectl exec -it [pod_name] -- /bin/bash
- 在正在运行的 Pod 中打开一个 shell。
-
端口转发:
kubectl port-forward [pod_name] [local_port]:[pod_port]
- 将本地端口转发到 Pod 的端口。
管理 Deployment
-
查看所有 Deployment:
kubectl get deployments
- 列出当前命名空间中的所有 Deployment。
-
扩展 Deployment:
kubectl scale deployment [deployment_name] --replicas=[number_of_replicas]
- 更改 Deployment 中的副本数量。
-
更新 Deployment:
kubectl set image deployment/[deployment_name] [container_name]=[new_image]
- 更新 Deployment 中容器的镜像。
-
回滚 Deployment:
kubectl rollout undo deployment/[deployment_name]
- 回滚 Deployment 到上一个版本。
管理 Service
-
查看所有 Service:
kubectl get services
- 列出当前命名空间中的所有 Service。
-
描述 Service:
kubectl describe service [service_name]
- 获取指定 Service 的详细信息。
-
暴露 Deployment 为 Service:
kubectl expose deployment [deployment_name] --type=[service_type] --port=[port]
- 将 Deployment 暴露为一个 Service。
管理命名空间
-
查看所有命名空间:
kubectl get namespaces
- 列出集群中的所有命名空间。
-
创建命名空间:
kubectl create namespace [namespace_name]
- 创建一个新的命名空间。
-
切换命名空间:
kubectl config set-context --current --namespace=[namespace_name]
- 切换到指定的命名空间。
这些命令是日常管理 Kubernetes 集群时非常有用的工具,熟练掌握这些命令可以帮助你更有效地管理和调试 Kubernetes 环境。