k8s kubectl常用命令

kubectl get 命令

1、得到所有命名空间

kubectl get namespaces

同理得到所有的节点

kubectl get nodes

2、得到monitoring命名空间下所有的pod,不加 -n monitoring 得到的是default命名空间下的数据。

kubectl get pods -n monitoring

同理Deployment

kubectl get deployments -n monitoring

得到Pod的详细信息(如pod所属节点)

kubectl get pods -o wide -n monitoring

3、查看monitoring命名空间下所有service的详细信息(包含端口信息)

kubectl get svc -n monitoring 

kubectl delete 命令

1、删除weave命名空间

kubectl delete namespace weave

2、删除k8s集群中的node3节点

kubectl delete node node3

kubectl describe 命令

1、得到monitoring命名空间下某pod的详细信息

kubectl describe pod qperf-server-6j6f9  -n monitoring
kubectl describe deployment  prometheus-core -n monitoring

kubectl logs命令

1、查看monitoring命名空间下某pod的日志

kubectl logs qperf-server-6j6f9  -n monitoring

注:一个Pod中有多个container,使用上面的命令就会报错,提示

Error from server (BadRequest): a container name must be specified for pod kube-state-metrics-64497b8856-j9tv9, choose one of: [kube-state-metrics addon-resizer]

正确的方式为:

   kubectl logs kube-state-metrics-64497b8856-j9tv9 -n kube-system -c kube-state-metrics

kubectl create 命令

1、使用yaml文件为weave 命名空间创建一个资源

kubectl create --namespace weave -f scope.yaml 

kubectl apply 命令

使对yaml配置文件的修改生效。

kubectl edit 命令

通过kubectl edit 修改configmap,过十几秒左右会自动同步到容器挂载目录对应的文件中。编辑的步骤为:

#得到configmap的名字:
kubectl get configmap -n monitoring 
#开始编辑
kubectl edit configmap prometheus-core -n monitoring

注1:在容器中 vi 之后无法通过 :wq! 保存,即只有读权限。

注2:k8s只有主节点可以使用kubectl指令

注3:如何使文件传输工具拖拽进来的yaml文件生效:delete再create

kubectl label 命令

对节点增加标签

kubectl label nodes node-kle6kz7u  specialLabel=promconsul
node/node-kle6kz7u labeled

你可能感兴趣的:(Linux相关)