1.3. 为禁用了 autotls 的 Redis 配置 TLS
您可以使用密钥和证书对创建 argocd-operator-redis-tls
secret,为 Redis 手动配置 TLS 加密。另外,您必须注解 secret 以指示它属于适当的 Argo CD 实例。对于启用了高可用性 (HA) 的实例,创建证书和 secret 的步骤会有所不同。
流程
- 登陆到 OpenShift Container Platform Web 控制台。
创建 Argo CD 实例:
-
在 Web 控制台的 Administrator 视角中,使用左侧导航面板进入 Administration
CustomResourceDefinitions。 -
搜索
argocds.argoproj.io
并点ArgoCD
自定义资源定义 (CRD)。 - 在 CustomResourceDefinition 详情页面中,点 Instances 选项卡,然后点 Create ArgoCD。
编辑或替换类似以下示例的 YAML:
禁用 autotls 的 ArgoCD CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Create。
验证 Argo CD pod 是否已就绪并在运行:
oc get pods -n <namespace>
$ oc get pods -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意启用 HA 的 TLS 配置需要一个至少有三个 worker 节点的集群。如果您启用了使用 HA 配置的 Argo CD 实例,可能需要几分钟时间才会显示输出。
启用了 HA 的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 Web 控制台的 Administrator 视角中,使用左侧导航面板进入 Administration
根据您的 HA 配置,使用以下选项之一为 Redis 服务器创建一个自签名证书:
对于禁用了 HA 的 Argo CD 实例,请运行以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定运行 Argo CD 实例的命名空间,如
openshift-gitops
。
输出示例
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis.key'
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis.key'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于启用了 HA 的 Argo CD 实例,运行以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定运行 Argo CD 实例的命名空间,如
openshift-gitops
。
输出示例
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis-ha.key'
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis-ha.key'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行以下命令,验证生成的证书和密钥是否在
/tmp
目录中可用:cd /tmp
$ cd /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls
$ ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 禁用 HA 的输出示例
... redis.crt redis.key ...
... redis.crt redis.key ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用了 HA 的输出示例
... redis-ha.crt redis-ha.key ...
... redis-ha.crt redis-ha.key ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的 HA 配置,使用以下选项之一创建
argocd-operator-redis-tls
secret:对于禁用了 HA 的 Argo CD 实例,请运行以下命令:
oc create secret tls argocd-operator-redis-tls --key=/tmp/redis.key --cert=/tmp/redis.crt
$ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis.key --cert=/tmp/redis.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于启用了 HA 的 Argo CD 实例,运行以下命令:
oc create secret tls argocd-operator-redis-tls --key=/tmp/redis-ha.key --cert=/tmp/redis-ha.crt
$ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis-ha.key --cert=/tmp/redis-ha.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
secret/argocd-operator-redis-tls created
secret/argocd-operator-redis-tls created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注解 secret 以表示它属于 Argo CD CR:
oc annotate secret argocd-operator-redis-tls argocds.argoproj.io/name=<instance-name>
$ oc annotate secret argocd-operator-redis-tls argocds.argoproj.io/name=<instance-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定 Argo CD 实例的名称,如
argocd
。
输出示例
secret/argocd-operator-redis-tls annotated
secret/argocd-operator-redis-tls annotated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Argo CD pod 是否已就绪并在运行:
oc get pods -n <namespace>
$ oc get pods -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您启用了使用 HA 配置的 Argo CD 实例,可能需要几分钟时间才会显示输出。
启用了 HA 的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow