Kubernetes(k8s)常用指令

根据配置文件创建pod

kubectl apply -f 配置文件名字
  • apply :可重复创建容器,如果没有则新建,如果有了则对比并且替换
  • -f: 引用k8s对象定义文件file,也就是配置文件

根据配置文件删除容器

kubectl delete -f 配置文件的名字
  • delete:执行删除容器的操作
  • -f: 引用k8s对象定义文件file,也就是配置文件

获取容器的运行状态以及一些信息

kubectl get pods -A|grep pod名字
  • get: 获取
  • pods: 容器
  • -A: 所有命名空间
  • grep: 用于查找文件里符合条件的字符串

查看pod的详细信息,特别是无法创建pod

kubectl describe pod -n 命名空间 容器名字
  • n: 命名空间

查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间

kubectl get pod
kubectl get pod -n kube  
kubectl get pod -o wide

显示 Node 的详细信息

kubectl describe node 192.168.0.112

删除所有包含某个 label 的pod 和 service

kubectl delete pod,svc -l name=<label-name>

查看 endpoint 列表

kubectl get endpoints

查看注释

kubectl explain pod
kubectl explain pod.apiVersion

查看节点 labels

kubectl get node --show-labels

重启 pod

kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f -

修改网络类型

kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'

用于将Deployment及其Pod缩小为零个副本

kubectl scale deploy/nginx-1 --replicas=0
kubectl scale deploy/nginx-1 --replicas=1

实际上杀死了所有副本。当您将其缩放回1/1时,将创建一个新的Pod,重新启动您的应用程序。

查看pod所在节点

kubectl get pod -a -o wide|gerp 容器名字

#查看容器的日志

kubectl logs <pod-name>
kubectl logs -f <pod-name>  # 实时查看日志
kubectl log  <pod-name>  -c <container_name> # 若 pod 只有一个容器,可以不加 -c 
kubectl logs -l app=frontend # 返回所有标记为 app=frontend 的 pod 的合并日志。
kubectl logs -n 命名空间 podId -f --tail 100   #查看该容器的最后100条日志信息

创建secret

kubectl create secret  docker-registry secret名字  --docker-server=xxxx.com --docker-username=xxxx   --docker-password=xxx  --docker-email=xxx@xxx

也可以根据yaml文件创建,在此就不展示了

删除secret

kubectl delete secret secret的名字
上一篇:kubectl在pod容器中执行命令


下一篇:k8s之Pod基础概念