第 5 章 在 Operator Lifecycle Manager 中配置代理支持
如果在 OpenShift Container Platform 集群中配置了全局代理,Operator Lifecycle Manager 会自动配置使用集群范围代理管理的 Operator。但是,您也可以配置已安装的 Operator 来覆盖全局代理服务器或注入自定义 CA 证书。
5.1. 覆盖 Operator 的代理设置
如果配置了集群范围的出口代理,则使用 Operator Lifecycle Manager (OLM) 创建的应用程序会继承其 Deployment 和 Pod 上的集群范围代理设置。集群管理员还可通过配置 Operator 的订阅来覆盖这些代理设置。
先决条件
-
使用具有
cluster-admin
权限的账户访问 OpenShift Container Platform 集群。
流程
-
在 Web 控制台中导航至 Operators
OperatorHub 页面。 - 选择 Operator 并点 Install。
在 Create Operator Subscription 页面中,修改 Subscription 对象的 YAML,使其在
spec
部分中包含一个或多个以下环境变量 :-
HTTP_PROXY
-
HTTPS_PROXY
-
NO_PROXY
例如:
带有代理设置的订阅对象覆盖
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: etcd-config-test namespace: openshift-operators spec: config: env: - name: HTTP_PROXY value: test_http - name: HTTPS_PROXY value: test_https - name: NO_PROXY value: test channel: clusterwide-alpha installPlanApproval: Automatic name: etcd source: community-operators sourceNamespace: openshift-marketplace startingCSV: etcdoperator.v0.9.4-clusterwide
OLM 将这些环境变量作为一个单元处理; 如果至少设置了一个环境变量,则所有 3 个变量都将被视为覆盖,并且集群范围的默认值不会用于订阅的 Operator 部署。
-
- 点击 Subscribe 使 Operator 可供选择的命名空间使用。
当 Operator 的 CSV 出现在相关命名空间中后,您可以验证部署中是否设置了自定义代理环境变量。例如,使用 CLI:
$ oc get deployment -n openshift-operators etcd-operator -o yaml | grep -i "PROXY" -A 2 - name: HTTP_PROXY value: test_http - name: HTTPS_PROXY value: test_https - name: NO_PROXY value: test image: quay.io/coreos/etcd-operator@sha256:66a37fd61a06a43969854ee6d3e21088a98b93838e284a6086b13917f96b0d9c ...
其他资源
- 如需了解在覆盖 Operator 的代理设置时取消设置环境变量的已知问题 BZ#1751903 的详细信息,请参阅 OpenShift Container Platform 4.3 发行注记。