# 通过历史启动的对象获取启动的yaml
kubectl get pod my-nginx -oyaml
# 通过干跑不创建资源的方式获取yaml文件
kubectl run my-tomcat --image=tomcat --dry-run=client -oyaml
# 解释yaml中的字段含义
kubectl explain pod.spec
新建k8s-demo.yaml
apiVersion: v1 #api版本, 同一个资源可以有多个版本, kubectl api-resources可以看到
kind: Pod #资源类型 kubectl api-resources 可以获取到所有的资源
metadata:
name: mytomcat-test
spec:
containers: # 容器的描述
- image: tomcat
name: mytomcat
# 应用yaml, 没有就创建, 有就修改
kubectl apply -f k8s-demo.yaml
# 文件发生改动后对比正在运行的资源
kubectl diff -f k8s-demo.yaml
# 删除集群中的资源
kubectl delete -f k8s-demo.yaml
相同名称空间下的资源可以共享, 不通名称空间下的资源不可以共享, 网络可以互通
# 获取所有的名称空间
kubectl get namespace
# 获取指定的名称空间
kubectl delete namespace hello
# 创建一个名称空间
kubectl create namespace hello
# 查看创建名称空间的yaml
kubectl create namespace hello --dry-run=client -oyaml
命令行添加标签
# 查看标签的帮助文档
kubectl lable --help
# 展示标签
kubectl get pod --show-labels
# 设置标签
kubectl label pods mytomcat-test aa=bb
# 删除标签
kubectl label pods mytomcat-test aa-
#修改标签
kubectl label pods mytomcat-test aa=cc --overwrite
yaml添加标签
metadata: #元数据信息
name: nginx
labels: #标签信息
app: web #标签 app:web
标签选择器
基于等值关系的标签选择器
=、==和 !=
基于集合关系的标签选择器
KEY in (VALUE1,VALUE2,…) :指定的键名的值存在于给定的列表中即满足条件;
KEY notin (VALUE1,VALUE2,…) :指定的键名的值不存在于给定列表中即满足条件;
KEY:所有存在此键名标签的资源;
!KEY:所有不存在此键名标签的资源
kubectl 管理 Secret
# 创建dockerhub的secret
kubectl create secret docker-registry my-dockerhub-secret \\
--docker-server=registry.cn-hangzhou.aliyuncs.com \\
--docker-username=1216921425@qq.com \\
--docker-password=root123@ \\
--docker-email=your-dockerhub-email
# 获取secret
kubectl get secrets
# 删除secret
kubectl delete secrets <secret-name>
# 编辑secret
kubectl edit secrets <secret-name>