以下是一些常见的 Kubernetes(K8s)命令和可能用到的脚本示例:
一、常见 Kubernetes 命令
-
查看节点:
kubectl get nodes
:列出所有节点的状态。
-
查看 Pod:
kubectl get pods
:列出所有 Pod 的状态。kubectl describe pod pod_name
:查看特定 Pod 的详细信息。
-
查看部署(Deployment):
kubectl get deployments
:列出所有部署的状态。kubectl describe deployment deployment_name
:查看特定部署的详细信息。
-
查看服务(Service):
kubectl get services
:列出所有服务的状态。kubectl describe service service_name
:查看特定服务的详细信息。
-
创建资源:
kubectl create -f resource.yaml
:根据 YAML 配置文件创建资源,如 Pod、Deployment、Service 等。
-
删除资源:
kubectl delete -f resource.yaml
:根据 YAML 配置文件删除资源。kubectl delete pod pod_name
:删除特定 Pod。
-
查看日志:
kubectl logs pod_name
:查看特定 Pod 的日志。
-
进入容器:
kubectl exec -it pod_name -- bash
(如果容器内有 bash 环境)。
二、脚本示例(以 Bash 为例)
- 批量删除特定类型资源脚本:
#!/bin/bash
RESOURCE_TYPE=$1
NAMESPACE=$2
for resource in $(kubectl get $RESOURCE_TYPE -n $NAMESPACE -o name)
do
kubectl delete $resource -n $NAMESPACE
done
使用方法:./script.sh pods default
(删除默认命名空间下的所有 Pod)。
- 检查 Pod 状态脚本:
#!/bin/bash
NAMESPACE=$1
POD_NAME=$2
while true
do
STATUS=$(kubectl get pod $POD_NAME -n $NAMESPACE -o jsonpath='{.status.phase}')
if [ "$STATUS" == "Running" ]; then
echo "Pod is running."
break
else
echo "Pod is not running. Status: $STATUS. Waiting..."
sleep 5
fi
done
使用方法:./script.sh default mypod
(检查默认命名空间下名为 “mypod” 的 Pod 的状态)。
这些命令和脚本可以帮助你在使用 Kubernetes 时进行一些常见的操作和管理任务。在使用脚本时,要确保你有足够的权限,并谨慎操作,以免误删重要的资源。同时,Kubernetes 还有很多高级功能和命令,可以根据具体需求进一步学习和探索。