1.2. 为启用了 autotls 的 Redis 配置 TLS
您可以通过在新的或已有的 Argo CD 实例中启用 autotls
设置来为 Redis 配置 TLS 加密。配置会自动置备 argocd-operator-redis-tls
secret,且不需要进一步的步骤。目前,OpenShift Container Platform 是唯一受支持的 secret 供应商。
默认情况下禁用 autotls
设置。
流程
- 登陆到 OpenShift Container Platform Web 控制台。
创建启用了
autotls
的 Argo CD 实例:-
在 Web 控制台的 Administrator 视角中,使用左侧导航面板进入 Administration
CustomResourceDefinitions。 -
搜索
argocds.argoproj.io
并点ArgoCD
自定义资源定义 (CRD)。 - 在 CustomResourceDefinition 详情页面中,点 Instances 选项卡,然后点 Create ArgoCD。
编辑或替换类似以下示例的 YAML:
启用 autotls 的 Argo CD CR 示例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd 1 namespace: openshift-gitops 2 spec: redis: autotls: openshift 3 ha: enabled: true 4
提示另外,您可以通过运行以下命令来在已经存在的 Argo CD 实例上启用
autotls
设置:$ oc patch argocds.argoproj.io <instance-name> --type=merge -p '{"spec":{"redis":{"autotls":"openshift"}}}'
- 点 Create。
验证 Argo CD pod 是否已就绪并在运行:
$ oc get pods -n <namespace> 1
- 1
- 指定运行 Argo CD 实例的命名空间,如
openshift-gitops
。
禁用 HA 的输出示例
NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 26s argocd-redis-84b77d4f58-vp6zm 1/1 Running 0 37s argocd-repo-server-5b959b57f4-znxjq 1/1 Running 0 37s argocd-server-6b8787d686-wv9zh 1/1 Running 0 37s
注意启用 HA 的 TLS 配置需要一个至少有三个 worker 节点的集群。如果您启用了使用 HA 配置的 Argo CD 实例,可能需要几分钟时间才会显示输出。
启用了 HA 的输出示例
NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 10m argocd-redis-ha-haproxy-669757fdb7-5xg8h 1/1 Running 0 10m argocd-redis-ha-server-0 2/2 Running 0 9m9s argocd-redis-ha-server-1 2/2 Running 0 98s argocd-redis-ha-server-2 2/2 Running 0 53s argocd-repo-server-576499d46d-8hgbh 1/1 Running 0 10m argocd-server-9486f88b7-dk2ks 1/1 Running 0 10m
-
在 Web 控制台的 Administrator 视角中,使用左侧导航面板进入 Administration
验证
argocd-operator-redis-tls
secret 是否已创建:$ oc get secrets argocd-operator-redis-tls -n <namespace> 1
- 1
- 指定运行 Argo CD 实例的命名空间,如
openshift-gitops
。
输出示例
NAME TYPE DATA AGE argocd-operator-redis-tls kubernetes.io/tls 2 30s
secret 必须是
kubernetes.io/tls
类型,大小为2
。