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结构,设置-代表去除的意思)
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐