はじめに
今回は、OpenShift4.10でGAとなった、ARMプロセッサー環境へのOpenShiftインストールを試してみます。
ARMプロセッサーとは
ARMプロセッサーとは、ARM社が開発しライセンス販売を主体に提供しているCPUで、様々な企業がARMアーキテクチャを活用した独自CPUを作成しています。近年ではAppleがM1プロセッサーを作成したことで一般的な認知度も上がってきていますが、かねてよりiPhoneやAndroidスマホ、カーナビやゲーム機など様々なシーンで使われてきました。2017年で210億以上の出荷実績があり、後述するようにサーバ環境でも積極的に活用されてきているので、今後ますます出荷台数が増えていくことが予想されます。
このARMプロセッサーですが、高い消費電力性能が大きなメリットとして挙げられます。そのため、このCPUを活用することで、よりコストパフォーマンスの高い環境を構築しサービスを提供できるのではないか、ということで注目されています。
しかしこのような進化を遂げたのはスマートフォンが登場してからになるため、PC/サーバーのCPU市場はほぼIntelのプロセッサーが占めており、まだまだミドルウェアやアプリケーションのARM対応は発展途上になります。
そんな中、OpenShiftでは2022年3月にリリースした4.10でARMプロセッサー環境へのデプロイがGAになりました。
デプロイの形態はAWSへのIPIインストールと、ベアメタル向けのUPIインストールの2種類ありますが、今回はAWSへのIPIインストールを実施します。
前提条件
- AWSアカウントを準備していること
- Administrator AccessのIAMユーザーを作成していること
- DNSドメイン(Route53など)を取得していること
- ocコマンドをインストールしていること
AWSへOpenShiftをデプロイ
まずはOpenShiftインストールバイナリをダウンロードします。
以下のサイトにアクセスして、自分の端末に合ったインストーラを選択してください。
2022/4/4時点では、Linux(x86_64/arm64)用とmac(x86_64)用のインストーラが選択できます。
https://console.redhat.com/openshift/downloads
「OpenShift for ARM Installer」というのが今回のインストーラになります。
ダウンロードが完了したらファイルを解凍します。
$ tar -zxvf openshift-install-linux.tar.gz
masterノードにSSHする際に使うキーを生成します。ここではパスワードなしで作成しています。
$ ssh-keygen -t ed25519 -f ~/.ssh/openshift-master -N "" <<<y
AWS CLIの設定を行います。 Administrator Accessの権限を持つIAMユーザーを設定してください。
$ aws configure
ここまでできたらinstall-configを作成します。
$ ./openshift-insall create install-config
対話形式で必要な情報を入力してください。
domainについてはroute53にホストゾーンがあれば対話の中で選択できます。
pull-secretについては、以下のURLからCopyしてきます。
https://console.redhat.com/openshift/downloads#tool-pull-secret
作成されたinstall-config.yamlを見てみましょう。
apiVersion: v1
baseDomain: *******.com
compute:
- architecture: arm64
hyperthreading: Enabled
name: worker
platform: {}
replicas: 3
controlPlane:
architecture: arm64
hyperthreading: Enabled
name: master
platform: {}
replicas: 3
metadata:
creationTimestamp: null
name: democluster-arm-001
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
machineNetwork:
- cidr: 10.0.0.0/16
networkType: OpenShiftSDN
serviceNetwork:
- 172.30.0.0/16
platform:
aws:
region: ap-northeast-1
publish: External
pullSecret: '{"auths":{"cloud.openshift.com":{"auth":*************
compute.architecture
やcontrolPlane.architecture
を確認すると、arm64
になっていることがわかります。
この値を見てインストーラはデプロイ先のプロセッサーを判別します。
ちなみに、amd64用のインストーラでinstall-config.yamlを作成後、ここの値をarm64
に設定しても正常にOpenShiftをデプロイできません。 必ずarm64用のインストーラを利用して下さい。
ではOpenShiftのインストールを実行してください。
./openshift-install create cluster
1時間ほど待つとクラスターが構築されています。
デプロイ環境を確認
ではAWS上でデプロイされた環境を確認してみましょう。
Workerノードを確認すると、インスタンスタイプがm6g.large
になっています。
m6gとは、AWS製のARMベースプロセッサー"AWS Graviton2"を搭載したインスタンスのタイプです。
通常のインスタンスタイプ(M5など)よりも大幅にコストが低く、パフォーマンスも高いので最近注目されているサービスになります。
詳細については、公式ページを確認いただくか、こちらのBlackBelt動画がわかりやすく解説しています。
おわりに
いかがでしたでしょうか?
手順を見てみるとx86_64版とほとんど変わらない手順でデプロイできることがわかるかと思います。
せっかく4.10でGAとなりましたので、ぜひ活用を検討してみていただければと思います。
次回は、ARM版のOpenShiftを利用する際の注意点や、x86_64版とのパフォーマンスの比較をまとめていきたいと思います。