社交类网站开发,新品发布会一般在哪里举行,wordpress跳转页面不停止音乐,网站建设与代运营介绍Kubernetes 集群中创建一个包含 kubectl 命令的 Pod 通常用于管理和调试集群本身。这种 Pod 通常被称为“调试 Pod”或“管理 Pod”#xff0c;它们的主要作用是允许从集群内部执行 Kubernetes 操作和管理任务。这可以在多种情况下非常有用#xff1a;
集群管理和维护
内部…Kubernetes 集群中创建一个包含 kubectl 命令的 Pod 通常用于管理和调试集群本身。这种 Pod 通常被称为“调试 Pod”或“管理 Pod”它们的主要作用是允许从集群内部执行 Kubernetes 操作和管理任务。这可以在多种情况下非常有用
集群管理和维护
内部访问在集群内部运行的 Pod 可以直接访问 Kubernetes API这对于执行需要内部访问的管理任务非常方便。权限隔离这些 Pod 可以配置有不同的权限从而限制对集群的访问确保安全。
调试和故障排除
内部视角调试当需要从集群内部的角度调试问题时例如网络问题或服务之间的通信问题这些 Pod 可以提供必要的工具。访问受限资源在某些情况下这些 Pod 可以访问通常对外部客户端不可见的内部资源或服务。
自动化和作业
运行自动化任务这些 Pod 可以用于自动执行诸如备份、集群状态检查或自动化部署等任务。作业和CronJobs在 Kubernetes 中执行定时任务或一次性作业这些 Pod 可以作为执行这些任务的一部分。
实际案例
运行自动化任务之前的项目中就遇到过一种情况某个名字空间下的Pod由于代码长时间运行会卡主当然卡主的本质原因是代码质量问题且Pod不会自动重启这种情况下就可以通过具有cluster-admin权限的CronJobs容器定时重启容易出问题的Pod这样就可以极大的降低Pod卡主的概率。
Kubernetes集群中创建具有cluster-admin权限的容器
1.创建一个名字空间创建名字空间的目的是为了更好的隔离资源
kubeclt create ns kubectl-admin2.创建ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-service-accountnamespace: kubectl-admin3.为ServiceAccount做RBAC权限绑定我这里绑定的是cluster-admin的权限当然实际情况下可以控制权限的绑定
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-role-binding
subjects:
- kind: ServiceAccountname: admin-service-accountnamespace: kubectl-admin
roleRef:kind: ClusterRolename: cluster-adminapiGroup: rbac.authorization.k8s.io4.创建一个Deployment运行容器
apiVersion: apps/v1
kind: Deployment
metadata:name: kubectl-deploymentnamespace: kubectl
spec:replicas: 1selector:matchLabels:app: kubectl-apptemplate:metadata:labels:app: kubectl-appspec:serviceAccountName: admin-service-accountcontainers:- name: kubectl-containerimage: bitnami/kubectlcommand: [tail, -f, /dev/null]
5进入容器测试kubectl命令
kubectl exec -it kubectl-deployment-576894d47-m6rws -n kubectl-admin -- /bin/bash
I have no name!kubectl-deployment-576894d47-m6rws:/$ kubectl get ns
NAME STATUS AGE
cronjob Active 58d
default Active 183d
harbor Active 50d
harbor-private Active 57d
ingress-nginx Active 50d
ingress-test Active 50d
istio-system Active 50d
kube-node-lease Active 183d
kube-public Active 183d
kube-system Active 183d
kubectl Active 47m
mysql Active 4d9h
nginx-deployment Active 116d
pg Active 16d
pgg Active 10d
probe-test Active 116d
rook-ceph Active 41d
sonarqube Active 84d
I have no name!kubectl-deployment-576894d47-m6rws:/$