K8s 操作命令小结(Helm3版本)
Helm命令查看版本号helm version创建chart服务helm create demohelm install -f values.yaml mydemo .更新chart服务helm upgrade -f values.yaml clickhouse .卸载chart服务helm uninstall flink -n midware当前目录下检查语法helm lintchart模拟安装
·
Helm命令
- 查看版本号
helm version
- 创建chart服务
helm create demo
helm install -f values.yaml mydemo .
- 更新chart服务
helm upgrade -f values.yaml clickhouse .
- 卸载chart服务
helm uninstall flink -n midware
- 当前目录下检查语法
helm lint
- chart模拟安装
helm install --dry-run --debug
Kubectl 命令
- 查看目前运行中的pod
kubectl get pods -o wide
- 获取类型为Deployment的资源列表
kubectl get deployments
- 获取类型为Pod的资源列表
kubectl get pods -n namespace
- 获取集群中所有node节点
kubectl get nodes
- 执行部署yaml命令 (一般用于pod部署后的template模板下的yaml调整)
kubectl apply -f ./xxx-service.yaml
- 检查集群不同类型服务运行状态
kubectl get services -o wide
kubectl get deployments -o wide
kubectl get pods -o wide
- 查看所有名称空间的 Deployment
kubectl get deployments -A
kubectl get deployments --all-namespaces
- 查看 kube-system 名称空间的 Deployment
kubectl get deployments -n kube-system
- 查看pod中的容器的打印日志(和命令docker logs 类似)
kubectl logs podID
- 在pod中的容器环境内执行命令(和命令docker exec 类似)
kubectl exec -it nginx-pod-xxxxxx /bin/bash
- 删除旧驱逐的遗留,防止新的驱逐产生。
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
- 重启kubelet
systemctl restart kubelet
- 为后续操作配置命名空间上下文
kubectl config set-context $(kubectl config current-context) --namespace=pxc
- 列出default命名空间下的所有pods
kubectl get pods --namespace=default
- 扩容
kubectl scale deployments/clickhouse-client --replicas=3
- 选择器
kubectl get pods --selector=arango_deployment=single-server
- 手动暴露pod为service,并设定为nodeport模式,向外暴露
kubectl expose pod single-server-id-739456 --port=8529 --target-port=8529 --namespace=midware --type=NodePort
- 强制删除pod
kubectl delete pod xxx -n platform --force --grace-period=0
- 强制删除pvc
kubectl patch pvc single-server-single-plp0z9qp -p '{"metadata":{"finalizers":null}}' -n default
- 强制删除crd(自定义命名空间)
kubectl patch crd/arangolocalstorages.storage.arangodb.com -p '{"metadata":{"finalizers":[]}}' --type=merge
- 通过特定的app标签查找某个pod的实例名字
kubectl get pods --selector=app=arangodb --output='jsonpath={.items[*].spec.hostname}'
- 提取service实例的端口号
kubectl describe service single-arangodb-id-7b1725 | grep NodePort | awk '{print $3}' | tr -cd "[0-9]"
- 查看KuBoard登录的TOKEN
echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
- 清理kubernetes pod日志(找出最大占用空间的pod)
for name in $(docker ps -a | awk '{print $1}' | grep -v CONTAINER); do docker inspect $name | grep LogPath | awk '{print $NF}' | tr -d '",' |xargs du -sh;done
- 通过echo命令清空日志文件
echo > /var/lib/docker/containers/1e589718097a326cf09c3fc58809eaaa9fccedcf8316a4006c62ba460dfc20a5/1e589718097a326cf09c3fc58809eaaa9fccedcf8316a4006c62ba460dfc20a5-json.log
- 清理docker,重启集群
docker system prune
systemctl stop kubelet
systemctl stop docker
systemctl start docker
systemctl start kubelet
- 卸载CRD
kubectl delete crd `kubectl get crd | grep arangodb| awk '{print $1}'`
- 查看node污点状况
kubectl describe node staging-node1 | grep Taints
- 去除某个node污点
kubectl taint nodes staging-node2 node.kubernetes.io/unreachable- (这是一个kv结构,设置-代表去除的意思)
更多推荐
已为社区贡献2条内容
所有评论(0)