ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

K8sVPA推荐资源值查看实操

2026/10/5 13:18:00 拓冰建站 浏览量
K8sVPA推荐资源值查看实操 K8sVPA推荐资源值查看实操技术栈Kubernetes v1.32.13 CustomResourceDefinition Operator SDK v1.34.x Rocky Linux 8.6操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案K8sVPA推荐资源值查看实操操作环境K8s 集群版本 v1.32.13支持 CRD v1 版本已安装 kubectl v1.32.13配置集群访问权限开发环境安装 Go 1.22.x、Operator SDK v1.34.x、controller-gen已部署 Cert-Manager v1.14.x、Ingress-NGINX v1.10.x、ExternalDNS v0.14.x命名空间默认 default可按需创建专用命名空间对接原理CRDCustomResourceDefinition是 K8s 扩展机制允许用户定义自定义资源类型。CRD 定义资源的名称、组、版本、作用域、字段校验 SchemaOpenAPI v3、子资源status/scale、打印列、短名称等。Operator 模式通过自定义控制器监听 CRD 资源的增删改事件在 Reconcile 循环中调谐实际状态至期望状态实现自动化运维。Cert-Manager 通过 Issuer/Certificate CRD 自动化证书签发和续期Ingress-NGINX 通过 Ingress CRD 配置七层路由ExternalDNS 通过 DNSRecord 同步域名解析。详细步骤1. 部署 Metrics Server 和 HPA# 部署 Metrics Server kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml # 跳过证书校验测试环境 kubectl patch deployment metrics-server -n kube-system \ --typejson -p[{op:add,path:/spec/template/spec/containers/0/args/-,value:--kubelet-insecure-tls}] # 创建 HPA cat hpa.yaml EOF apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: myapp-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: myapp minReplicas: 2 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 EOF kubectl apply -f hpa.yaml # 查看 HPA kubectl get hpa kubectl describe hpa myapp-hpa验证流程# 1. 验证 CRD 创建 kubectl get crd crd-name # 显示 ESTABLISHED 条件为 True ​ # 2. 验证自定义资源创建 kubectl get resource-plural # 资源列表正常显示 ​ # 3. 验证字段校验 kubectl apply -f invalid-resource.yaml # 不合规资源应被 APIServer 拒绝并返回错误 ​ # 4. 验证子资源 status kubectl get resource name -o jsonpath{.status} # status 字段可更新 ​ # 5. 验证打印列 kubectl get resource # 自定义列正常显示 ​ # 6. 验证控制器调谐 kubectl logs -f deployment/operator-name # 控制器日志显示 Reconcile 循环正常执行排错方案CRD 创建失败检查 API 版本apiextensions.k8s.io/v1group/name 是否符合规范Schema 是否有语法错误自定义资源创建被拒检查 spec 字段是否符合 OpenAPI Schemarequired 字段是否提供类型是否匹配枚举值是否合法控制器不调谐检查控制器是否 RunningRBAC 权限是否允许 watch/list 自定义资源日志是否有报错Status 无法更新确认 CRD 启用了 status 子资源subresources.status: {}控制器有 update status 权限Webhook 调用失败检查 webhook 服务是否可达TLS 证书是否正确conversionReviewVersions 是否匹配Cert-Manager 证书不签发检查 Issuer 状态DNS01/HTTP01 验证是否通过域名是否指向正确查看 Certificate 事件Ingress 不生效检查 ingressClassName 是否为 nginxIngress 控制器是否运行Service 和端口是否正确注解语法是否正确ExternalDNS 不同步检查 Provider 配置和凭据域名过滤是否正确TXT 记录所有权是否冲突查看 Pod 日志