Kubenetes 常用命令

查看 Node

1
$ kubectl get node -o wide

-o wide:该参数表示输出更加详细的信息

创建 Deployments

这里创建了一个名为 hello-test 的 Deployment

1
$kubectl run hello-test --image=alpine --replicas=2 sleep 360000

查看 Deployments

查看所有的 Namespaces:

1
kubectl get deployments --all-namespaces -o wide

查看 Deployments 详情

1
$ kubectl describe deployment hello-test

删除 Deployments

1
$ kubectl delete deployment hello-test -n default

查看 Pod

1
$ kubectl get pod -o wide

查看具体某一个 Pod

1
$ kubectl get pod <pod-name> -o yaml

-o yaml: 以 yaml 格式显示详细信息
-o json: 以 json 格式显示详细信息

查看 Pod 的详细信息

kubectl describe 不支持 -o 输出参数;

1
$ kubectl describe pod <pod-name>

查看 Pod 容器内标准输出的日志信息

1
2
# -f 随日志信息增长而输出
$ kubectl logs <pod-name> -f

命令式配置文件操作

基于文件创建集群资源

1
$ kubectl create -f xxx.yaml

基于文件对资源进行更新、替换操作

比如修改了 xxx.yaml 中的副本数、镜像版本、端口等, 此时需要更新资源:

1
$ kubectl replace -f xxx.yaml

删除配置文件对应的资源

1
$ kubectl delete -f xxx.yaml

声明式API操作

创建及更新资源

创建以及修改更新对应资源都可以执行同样的命令:

1
$ kubectl apply -f xxx.yaml

kubectl replace 操作相当于新建一个 API 对象来替换原有 API 对象;
kubectl apply 操作则是对原有的 API 对象进行了 Patch 操作;