K8S常用命令


配置终端可访问 K8S

 11. 下载最新的 kubectl 客户端。
 2https://kubernetes.io/docs/tasks/tools/install-kubectl/
 3
 42. 配置 Kubeconfig:
 5若当前访问客户端尚未配置任何集群的访问凭证,即 ~/.kube/config 内容为空,可直接复制 kubeconfig 访问凭证(开启内/外网访问后可见)内容并粘贴入 ~/.kube/config 中。
 6
 7若当前访问客户端已配置了其他集群的访问凭证,你可下载上方 kubeconfig 至指定位置,并执行以下指令以追加本集群的 kubeconfig 至环境变量。
 8
 9export KUBECONFIG=$KUBECONFIG:$HOME/Downloads/cls-ik5d1yl8-config
10其中,$HOME/Downloads/cls-ik5d1yl8-config 为本集群的 kubeconfig 的文件路径,请替换为下载至本地后的实际路径。有关多集群 Kubeconfig 配置及管理请参考:配置对多集群的访问
11
123. 访问 Kubernetes 集群:
13完成 kubeconfig 配置后,执行以下指令查看并切换 context 以访问本集群:
14kubectl config --kubeconfig=$HOME/Downloads/cls-ik5d1yl8-config get-contexts
15kubectl config --kubeconfig=$HOME/Downloads/cls-ik5d1yl8-config use-context cls-ik5d1yl8-100016657193-context-default
16而后可执行 kubectl get node 测试是否可正常访问集群。如果无法连接请查看是否已经开启公网访问或内网访问入口,并确保访问客户端在指定的网络环境内。

查询集群拥有的Node

1kubectl get nodes

查询集群运行的Service

1kubectl get services --all-namespaces
2kubectl get services -n test

查询节点上运行的Pod

1kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=youshu-tke1

默认按照default namespace排序,可按照节点排序展示Pod

1kubectl get pods -o wide --sort-by="{.spec.nodeName}"

复制Pod实例文件到主机节点

1kubectl cp bi-advert-new-77f4b9b574-rlmk6:/usr/local/app/bi-advert/dump.hropf  /usr/local/dump-20221115.hprof -n formal

删除对应名称或状态的Pod实例

1kubectl get pods  -n prod | grep 'data-nexus-external-gateway-59f767bdd6-wkjl5' | awk '{print $1}' | xargs kubectl delete pod  -n prod  --force --grace-period=0
1kubectl get pods  -n prod | grep 'Terminating' | awk '{print $1}' | xargs kubectl delete pod  -n prod  --force --grace-period=0

查询Service详细信息

1kubectl get svc -o wide -n prod | grep 31422

查询某个Service信息

1kubectl get svc -o wide | grep service-name

查询目标 IP 调用源

1conntrack -L | grep 19.27.74.132