k8s笔记
一、集群管理
#查看集群
kubectl cluster-info
二、node管理
#查看nodes
kubectl get nodes
#通过标签筛选node
kubectl get nodes -l gpu=true
#给node添加标签
kubectl label node <nodeName> gpu=true
#描述node
kubectl describe node <nodeName>
三、服务管理
#查看服务
kubectl get services
#删除所有服务和pod
kubectl delete all --all
四、pod管理
#查看pods
kubectl get pods
kubectl get pods -o wide
kubectl get pods --show-labels
#展示指定label
kubectl get pods -L app
#描述pod
kubectl describe pod <podName>
#查看pod配置文件
kubectl get pod <podName> -o yaml
kubectl get pod <podName> -o json
#从yaml文件创建pod
kubectl create -f <podName>.yaml
#创建pod指定命名空间
kubectl create -f <podName>.yaml -n custom-namespace
#添加注解
kubectl annotate pd <podName> key=val
#删除pod
kubectl delete pod <podName>
#使用标签删除指定pod
kubectl delete pod <podName> -l key-val
#删除命名空间下所有pod
kubectl delete pod --all
#查看上一个容器的日志
kubectl logs <podName> --previous
五、标签管理
#创建label
kubectl label pod <podName> key=val
#更新label
kubectl label pod <podName> key=val --overwrite
#通过label筛选pod
kubectl get pods -l env=env
#有env标签的pod
kubectl get pods -l env
#没有env标签的pod
kubectl get pods -l '!env'
六、命名空间
#查看集群所有命名空间
kubectl get ns
#查看指定命名空间下的pod
kubectl get pods --namespace <ns>
kubectl get pods --n <ns> //简写
#命令行创建命名空间
kubectl create namespace custom-namespace
#从yaml创建命名空间
kubectl create -f custom-namespace.yaml
#删除命名空间
kubectl delete ns <ns>
#custom-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name:custom-namespace
七、副本控制
#创建一个ReplicationController
kubectl create -f <name>.yaml
#查看rc
kubectl get rc
kubectl describe rc <rc>
#更新rc
kubectl edit rc <rc>
八、ConfigMap
#命令创建一个字面量条目
kubectl create configmap <cmName> --from-literal=key=val
kubectl create configmap <cmName> --from-literal=key1=val1 --from-literal=key2=val2
#通过yaml创建configmap,kind:ConfigMap
kubectl create -f <cmName>.yaml
#从文件创建configMap,会读取config-file.conf,并将文件内容存储在以文件名为key的条目下,也可以自定义key
kubectl create configmap <cmName> --from-file=config-file.conf
kubectl create configmap <cmName> --from-file=customkey=config-file.conf
kubectl create configmap <cmName> --from-file=foo.json
#从文件夹创建configMap,以文件名为key,文件内容为val
kubectl create configmap <cmName> --from-file=/path/to/dir
#查看所有configMap
kubectl get configmap
#查看指定configMap内容
kubectl get configmap <cmName> -o yaml
#更新configMap
kubectl edit configmap <cmName>
#secrets只会存储在内存中不会写入硬盘
kubectl get secrets
kubectl describe secrets <se>
九、其他
标签:kubectl,configmap,get,--,create,笔记,pod,k8s From: https://www.cnblogs.com/wangbin2188/p/16775944.html
###查询容器pod运行状态//查一次 服务状态和端口
kubectl get pod,svc
##类似于top
watch kubectl get pod
#将集群的本地端口8888转发到pod的8080
kubectl port-forward <podName> 8888:8080
kubectl get svc
#查看pod日志文件
kubectl logs -f <podName> [main]
kubectl edit deploy taskcenter
###重新拉取镜像 重启pod
kubectl rollout restart deploy devcenter