获取所有的namespace
kubectl get namespace
默认使用的是 ~/.kube/config这个配置文件,如果文件不再这个目录下可以通过 <--kubeconfig configFilePath>指定
https://kubernetes.io/docs/ta...
生成config文件
kubectl config --kubeconfig=config set-cluster --server=
kubectl config --kubeconfig=config set-credentials --token=
kubectl config --kubeconfig=config set-context --cluster= --user=
kubectl config --kubeconfig=config use-context
通过上面的命令生成config文件,通过这个文件就可以使用kubectl访问kubernetes集群
生成证书
kubectl create secret tls --cert --key -n
生成证书之后就可以在ingress配置spec.tls.hosts.secretName中配置命令中指定的
生成secret
# 这里常用的就是property文件,内容是key=value
kubectl create secret generic --from-env-file= -n
# 删除secret
kubectl delete secret -n
# 查看有哪些secret:
kubectl get secrets -n
# 查看secret详细信息
kubectl describe secrets -n
secret数据字段存储的是源字符串使用base64编码的。你可以使用下面的命令对其进行base64编码和解码
# 编码
echo -n '1f2d1e2e67df' | base64
# 解码
echo 'MWYyZDFlMmU2N2Rm' | base64 --decode
查看有哪些pod
kubectl get pods -n -o wide
查看deployment
kubectl describe deploy/ -n
查看某个pod日志
kubectl logs -n
进入到容器内部
winpty kubectl exec -n -it -- bin/bash
windows下执行才需要加上winpty,mac是不需要的。 如果bin/bash没有,可以指定bin/sh。
如果你的pod中部署了多个container,你想进入到某一个中,可以使用下面命令
winpty kubectl exec -c -n -it -- bin/sh
水平扩展/收缩
kubectl scale deployment --replicas=4
查看滚动更新结果
# 查看deployment
kubectl describe deployment -n
# 或者查看rs
kubectl get rs -n
查看历史版本
kubectl rollout history deployment/ -n
查看某个历史版本的细节
# 这里的versionNum是通过rollout history查看到的对应的数字
kubectl rollout history deployment/ --revision=
回滚到某个特定版本
kubectl rollout undo deployment/smcp-service --to-revision=
删除rs
kubectl delete rs -l app=
每次更新都会产生一个新的replica set,如果要删除那些旧的,可以使用这个命令,并通过-l参数指定label来进行删除
总结
其实kubectl语法都是存在特定格式的
kubectl [command] [TYPE] [NAME] [flags]
写命令忘记的时候,可以使用kubectl -h来查看支持的命令,关于这些命令可以参考 官方文档
如果觉得我写的不错,可以关注我的公众号think123哟: