argoproj/sensor-controller本镜像为Kubernetes集群中的传感器资源控制器,主要用于管理传感器相关Kubernetes资源的全生命周期,包括资源创建、更新、删除及状态协调,确保集群中传感器资源的实际状态与期望状态一致,适用于需要在K8s环境中统一管理传感器资源的场景。
通过以下命令在K8s集群节点或具备K8s API访问权限的环境中运行控制器:
bashdocker run -d \ --name sensor-k8s-controller \ -e KUBERNETES_API_URL="[***]" \ -e KUBERNETES_TOKEN="your-k8s-token" \ -e WATCH_NAMESPACE="sensor-namespace" \ -e SYNC_INTERVAL="30s" \ sensor-k8s-controller:latest
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
KUBERNETES_API_URL | Kubernetes API Server地址,控制器通过此地址与K8s集群交互 | https://localhost:6443 |
KUBERNETES_TOKEN | 访问Kubernetes API的认证Token(需具备传感器资源管理权限) | 无(必填) |
WATCH_NAMESPACE | 控制器监控的目标命名空间,指定*表示监控所有命名空间 | default |
SYNC_INTERVAL | 资源状态同步间隔(支持s/m单位,如30s/5m) | 60s |
RECONCILE_RETRY_LIMIT | 资源协调失败后的重试次数上限 | 5 |
LOG_LEVEL | 日志级别(支持debug/info/warn/error) | info |
控制器支持通过挂载配置文件(如/config/controller.yaml)进行高级配置,配置文件示例:
yamlapiVersion: controller.config/v1alpha1 kind: SensorControllerConfig syncInterval: 30s reconcileRetryLimit: 5 resourceTypes: # 指定需要管理的传感器资源类型 - deployment - configmap - secret watchLabels: # 仅监控包含指定标签的资源 sensor: "true"
建议通过Kubernetes Deployment部署控制器,确保高可用性:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: sensor-controller namespace: kube-system spec: replicas: 1 selector: matchLabels: app: sensor-controller template: metadata: labels: app: sensor-controller spec: containers: - name: controller image: sensor-k8s-controller:latest env: - name: KUBERNETES_TOKEN valueFrom: secretKeyRef: name: controller-token key: token - name: WATCH_NAMESPACE value: "sensor-ns"
为控制器配置RBAC权限,确保具备传感器资源的管理权限:
yamlapiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: sensor-controller-role rules: - apiGroups: ["apps", ""] resources: ["deployments", "configmaps", "secrets"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务