Kubectl 在命令行中

拥有正在运行的集群后,你可以使用 kubectl 命令对其进行管理。使用 kubectl --help 命令可以获得大多数命令,但我向你展示了最常用的命令,用于管理和获取有关群集,节点,窗格,服务和标签的信息。

要获取有关群集的信息,你可以使用以下命令

kubectl cluster-info

它会显示正在运行的地址和端口。

要获取有关节点,窗格,服务等的简短信息或在群集中占有一席之地的任何资源,你可以使用以下命令

kubectl get {nodes, pods, services, ...}

每个资源的输出大多是一行。

要获得有关资源的详细说明,可以使用 describe 标志作为 kubectl

kubectl describe {nodes, pods, ...}

部署的应用程序仅在群集内可见,因此如果要从群集外部获取输出,则应在终端和 kubernetes 群集之间创建路由。

kubectl proxy

它将打开一个 API,我们可以从集群中获取所有内容。如果要获取用于获取信息的 pod 的名称,则应使用以下命令:

kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

它将列出 pod 以供以后使用。

curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/{pod_name}/

另外两个常见命令是从容器化应用程序中获取日志和执行命令。

kubectl logs {pod_name}
kubectl exec {pod_name} {command}

配置 shell 的选项卡完成可以通过以下方式完成:

source <(kubectl completion zsh)   # if you're using zsh
source <(kubectl completion bash)  # if you're using bash

或更多编程:

source <(kubectl completion "${0/-/}")