Kubernetes 常用命令

Kubernetes 常用命令

Author: huyikai

Kubernetesk8skubectl

kubectl 是 Kubernetes 的命令行工具,以下是一些常用的 kubectl 命令:

kubectl get:获取资源信息。例如,kubectl get pods 获取所有的 pod 信息,kubectl get services 获取所有的服务信息。

获取资源信息

获取所有的 pod 信息

Terminal window
kubectl get pods
kubectl get pods -n my-namespace

获取所有的服务信息

Terminal window
kubectl get services

获取所有命名空间信息

Terminal window
kubectl get namespaces

显示一个特定资源的详细信息

Terminal window
# 显示名为 my-pod 的 pod 的详细信息
kubectl describe pod my-pod

创建一个资源

可以使用 -f 参数指定一个包含资源定义的 YAML 或 JSON 文件

Terminal window
# 创建一个在 my-pod.yaml 文件中定义的 pod
kubectl create -f my-pod.yaml

删除一个资源

Terminal window
# 删除名为 my-pod 的 pod
kubectl delete pod my-pod
kubectl delete pod my-pod -n my-namespace
kubectl delete pod my-pod1 my-pod2 my-pod3 -n my-namespace

根据 yaml 文件删除 pod

Terminal window
kubectl delete -f file1.yaml -n my-namespace

在一个 pod 中执行命令

Terminal window
# 在名为 my-pod 的 pod 中执行 ls / 命令
kubectl exec my-pod -- ls /

获取 pod 的日志

Terminal window
# 获取名为 my-pod 的 pod 的日志
kubectl logs my-pod

根据 yaml 应用一个或多个资源的配置

Terminal window
# 应用在 my-pod.yaml 文件中定义的 pod 的配置
kubectl apply -f my-pod.yaml
# 应用多个yaml文件
kubectl apply -f file1.yaml,file2.yaml,file3.yaml
# 应用当前目录下所有的yaml文件
kubectl apply -f ./*.yaml

管理资源的部署

Terminal window
# 查看名为 my-deployment 的 deployment 的部署状态
kubectl rollout status deployment/my-deployment

管理 kubectl 的配置

Terminal window
# 显示所有的 context
kubectl config get-contexts

设置或查看当前的命名空间

Terminal window
# 设置当前的命名空间为 my-namespace
kubectl config set-context --current --namespace=my-namespace

进入运行中的容器

Terminal window
kubectl exec -it -n <namespace> <pod-name> -- /bin/bash

将文件复制到 Pod 中

Terminal window
kubectl cp <local_file_path> <namespace>/<pod_name>:<pod_file_path>

更多命令可以使用 kubectl —help 查看