やりたいこと
- ROSAはこれまでL3のルーティングでインターネットにアクセスできる環境上でないとインストールできなかった
- ROSA CLIのv1.1.7のリリースノートに
ROSA: Support editing cluster-wide proxy
が含まれており、HTTP PROXY経由でのインストールができるようになった。これを試したい。 - また、ROSAのインストールコマンドの発行もHTTP PROXY配下で実施したい。
前提条件
- 1つのVPCにPublic SubnetとPrivate Subnetを作る
- NAT Gatewayは作らずに、Public SubnetにForward Proxy(Apache)を構築する
- Private SubnetにEC2を作り、ROSA CLIを実行し、ROSAのインストールを試みる
/etc/httpd/conf.d/proxy.conf
Listen 3128
<IfModule proxy_module>
ProxyRequests On
ProxyVia On
ProxyTimeout 300
AllowCONNECT 443
CustomLog logs/proxy_log combined
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
</IfModule>
ROSA のインストール
以下は、Private Subnet内に配置したEC2からの操作
# rosa cliのダウンロード
wget https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/rosa-linux.tar.gz
# 解凍する
tar zxvf ./rosa-linux.tar.gz
# 配置する
sudo mv rosa /usr/local/bin/
# 権限をつける
sudo chmod +x /usr/local/bin/rosa
# oc commandのダウンロード
rosa download openshift-client
# 解凍する
tar zxvf ./openshift-client-linux.tar.gz
# 配置する
sudo mv ./oc /usr/local/bin/
# 権限をつける
sudo chmod +x /usr/local/bin/oc
# rosa loginする(トークンは `https://console.redhat.com/openshift/token/rosa/show` から)
rosa login --token="eyJ...snip...WN4"
# 諸々の権限が充足しているか確認する
rosa verify permissions
# Account Rolesを作成する
rosa create account-roles --mode auto --prefix rosaproxy -y
# クラスタのインストールをする
rosa create cluster --cluster-name rosaproxy \
--sts \
--role-arn arn:aws:iam::68xxxx92:role/ManagedOpenShift-Installer-Role \
--support-role-arn arn:aws:iam::68xxxx92:role/ManagedOpenShift-Support-Role \
--controlplane-iam-role arn:aws:iam::68xxxx92:role/ManagedOpenShift-ControlPlane-Role \
--worker-iam-role arn:aws:iam::68xxxx92:role/ManagedOpenShift-Worker-Role \
--operator-roles-prefix rosaproxy-xxxx \
--region ap-northeast-1 \
--version 4.9.18 \
--compute-nodes 2 \
--machine-cidr 10.0.0.0/16 \
--service-cidr 172.30.0.0/16 \
--pod-cidr 10.128.0.0/14 \
--host-prefix 23 \
--private-link \
--subnet-ids subnet-04ca01c59deaff573 \
--etcd-encryption \
--http-proxy http://10.0.0.27:3128 \
--https-proxy http://10.0.0.27:3128
# Operator Roleを作成する
rosa create operator-roles --cluster rosaproxy --mode auto -y
# RHのOPと信頼関係を結ぶ
rosa create oidc-provider --cluster rosaproxy --mode auto
結果
rosa logs install -c rosaproxy | tail -n 1
time="2022-02-08T15:22:58Z" level=info msg="install completed successfully" installID=5xxxxxx9
よかった
- 多分、VPC内にROSAを構築しないといけないような企業って、L3のルーティングでインターネットには出れないと思う。
- そんな中、ROSAがインストールパラメータでPROXYの設定をもてるようになったのは嬉しい
もっと早くリリースしてほしい