k8s个人常用命令记录
创建
- 使用yaml文件创建
`kubectl apply -f xxx.yaml `
`kubectl create -f xxx.yaml `
create 重复创建会报错,
apply 会检查配置是否发生改变,重复创建不会报错.
未拥有使用命令创建的经历
删除 以删除deploy为例
-
使用yaml文件删除
-
值得注意的是,这个yaml文件要和创建的时候yaml文件一致
-
kubectl delete -f xxx.yaml
-
-
指定name删除
-
如,现在需要删除一个deployment 叫做core
-
kubectl delete deploy core -n your-core-namespace
-
-
通过-o yaml 删除
-
注意 如下会删除your-namespaces 下的所有deploy 不怎么建议
-
kubectl get deploy -n your-namespace -o yaml | kubectl delete -f -
-
-
配合awk 和xargs 删除指定的deploy
-
如下删除的是名字包含有dep1,dep2的deploy,更多内容请看awk手册.
kubectl get deploy -n your-namespace | awk '/dep1|dep2/{print $1}'| xargs kubectl delete deploy -n your-namespace
-
进入pod容器
这个估计就像是docker的exec吧 我猜测
kubectl exec -it <pod full name> [--namespace] <container command like bash>
查看pod日志
kubectl logs -n <your-namespace> <pod full name> -c <指定pod的lable 也可以不指定> [-f 表示是否持续监听]
其他
创建自己的docker registry 如阿里云 这个email 用下来可有可无
kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
copy secret 从一个namespace 到另一个namespace
kubectl get secret <secret name> --namespace=<your namespace> -o yaml | sed 's/namespace: .*/namespace: default/' | kubectl apply -f -
如何将集群上的cluster ip sevice 映射到本地
kubectl port-forwar svc/<your svc name > -n <your namespace> local-port:svc-port
这样就可以通过 127.0.0.1:local-port访问集群上的服务了 注意这个svc-port是在service中设置的port
待更新
上一篇: k8s常用命令记录