20.2. 配置安全组
在 AWS 上安装 OpenShift Container Platform 时,请确保设置适当的安全组。
这些是在安全组中必须具有的一些端口,而安装会失败。根据您要安装的集群配置,您可能需要更多。如需更多信息,并相应地调整您的安全组,请参阅所需端口以了解更多信息。
所有 OpenShift Container Platform 主机 |
|
etcd 安全组 |
|
Master 安全组 |
|
节点安全组 |
|
基础架构节点(一个可以托管 OpenShift Container Platform 路由器) |
|
CRI-O |
如果使用 CRIO,则必须打开 tcp/10010 以允许 |
如果为 master 和/或路由器配置外部负载均衡器(ELB),您还需要为 ELB 相应地配置入口和 Egress 安全组。
20.2.1. 覆盖检测到的 IP 地址和主机名 复制链接链接已复制到粘贴板!
在 AWS 中,需要覆盖变量的情况包括:
变量 | 使用方法 |
---|---|
|
用户安装在 VPC 中,它没有为 |
| 您已经配置了多个网络接口,并希望使用除默认接口以外的其他网络接口。 |
|
|
|
|
对于 EC2 主机,必须部署到启用了 DNS 主机名和
解析的 VPC 中。
DNS
Amazon Web Services (AWS) 提供对象存储,OpenShift Container Platform 可以使用它们使用 OpenShift Container Platform 容器 registry 存储容器镜像。
如需更多信息,请参阅 Amazon S3。
先决条件
OpenShift Container Platform 使用 S3 作为镜像存储。应创建 S3 存储桶、IAM 策略和带有 Programmatic Access
的 IAM 用户,以允许安装程序配置 registry。
以下示例使用 awscli 在 us-east-1
区域中创建一个名为 openshift-registry-storage
的存储桶。
# aws s3api create-bucket \ --bucket openshift-registry-storage \ --region us-east-1
# aws s3api create-bucket \
--bucket openshift-registry-storage \
--region us-east-1
默认策略
20.2.1.1.1. 将 OpenShift Container Platform 清单配置为使用 S3 复制链接链接已复制到粘贴板!
流程
将 registry 的 Ansible 清单配置为使用 S3 存储桶和 IAM 用户:
要使用 Amazon Web Services(AWS)S3 对象存储,请编辑 registry 的配置文件并挂载到 registry pod。
流程
导出当前的 config.yml :
oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
$ oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从旧 config.yml 创建新配置文件:
cp config.yml.old config.yml
$ cp config.yml.old config.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑该文件,使其包含 S3 参数。在 registry 配置文件的
storage
部分指定 accountname、accountkey、container 和 realm。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
registry-config
secret:oc delete secret registry-config -n default
$ oc delete secret registry-config -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新创建 secret 来引用更新的配置文件:
oc create secret generic registry-config \ --from-file=config.yml -n default
$ oc create secret generic registry-config \ --from-file=config.yml -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新部署 registry 以读取更新的配置:
oc rollout latest docker-registry -n default
$ oc rollout latest docker-registry -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.2.1.1.3. 验证 registry 是否使用 S3 存储 复制链接链接已复制到粘贴板!
验证 registry 是否使用 Amazon S3 存储:
流程
在成功部署 registry 后,registry
deploymentconfig
会将 registry-storage 描述为emptydir
而不是 AWS S3,但 AWS S3 存储桶的配置位于 secretdocker-config
中。docker-config
机密挂载到REGISTRY_CONFIGURATION_PATH
,后者在将 AWS S3 用于注册表对象存储时提供所有 paramaters。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 共享 pod 生命周期的临时目录。
确定 /registry 挂载点为空:
oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry
$ oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry total 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果为空,则代表 S3 配置在
registry-config
secret 中定义:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装程序会使用扩展的 registry 功能创建带有所需配置的 config.yml 文件,如安装文档所述。要查看配置文件,包括存储存储桶配置的
storage
部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以查看 secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果使用 emptyDir
卷,/registry
挂载点类似如下: