根据配置文件创建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的名字