欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

k8s个人常用命令记录

程序员文章站 2022-03-12 18:29:22
...

创建

  • 使用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

待更新