kubectl 是 Kubernetes 的命令行工具(CLI),是 Kubernetes 用户和管理员必备的管理工具。
kubectl 提供了大量的子命令,方便管理 Kubernetes 集群中的各种功能。这里不再罗列各种子命令的格式,而是介绍下如何查询命令的帮助
kubectl -h 查看子命令列表kubectl options 查看全局选项kubectl --help 查看子命令的帮助kubectl [command] [PARAMS] -o= 设置输出格式(如 json、yaml、jsonpath 等)kubectl explain [RESOURCE] 查看资源的定义使用 kubectl 的第一步是配置 Kubernetes 集群以及认证方式,包括
示例
kubectl config set-credentials myself --username=admin --password=secretkubectl config set-cluster local-server --server=http://localhost:8080kubectl config set-context default-context --cluster=local-server --user=myself --namespace=defaultkubectl config use-context default-contextkubectl config viewkubectl run --image= 或者 kubectl create -f manifest.yamlkubectl get kubectl set 或者 kubectl patchkubectl delete 或者 kubectl delete -f manifest.yamlkubectl get pod -o jsonpath='{.status.podIP}' kubectl exec -ti sh kubectl logs [-f] kubectl expose deploy --port=80 kubectl get secret SECRET -o go-template='{
{ .data.KEY | base64decode }}'注意,kubectl run 仅支持 Pod、Replication Controller、Deployment、Job 和 CronJob 等几种资源。具体的资源类型是由参数决定的,默认为 Deployment:
| 创建的资源类型 | 参数 |
|---|---|
| Pod | --restart=Never |
| Replication Controller | --generator=run/v1 |
| Deployment | --restart=Always |
| Job | --restart=OnFailure |
| CronJob | --schedule= |
Linux 系统 Bash:
source /usr/share/bash-completion/bash_completionsource <(kubectl completion bash)MacOS zsh
source <(kubectl completion zsh