はじめに
Rancher 2.2 より Alibaba Cloud Container Service for Kubernetes へ対応したので遅ればせながら検証してみました。
今回は環境構築までの記事です。
Announcing Added Support for Leading Kubernetes Services in China
Alibaba Cloud に Rancher環境を作る必要は特にないのですが、一応検証のため構築してみました😁
構築は下記の公式手順に沿って行います。
今回はまずSingle Node Installation
で構築したいと思います。
Rancher 2.X Installation
Alibaba Cloud ECSインスタンス作成
Alibaba Cloud では仮想サーバーのことをElastic Compute Service(ECS)と呼びます。
この略称は・・・とは思うのですが中国語でも云服务器(ECS)なので如何にもならない😅
Elastic Compute Serviceプロダクトページ
Alibaba Cloud のコンソールにログイン後にElastic Compute Service
を選択します。
公式の要件に沿ってインスタンスのスペックを決めます。
価格モデルは従量課金
リージョンは東京
を選択してください。
今回はSmallで十分なので1vCPU,4GBメモリのインスタンスを選択します。
リージョンはお好きなところで構いません。
OSはCentOS7
、ストレージはとりあえず50GiB
で作ります。
ネットワーク設定の画面でVPC
、AZ
、パブリックIPの割り当て
、セキュリティグループの選択
を行います。
セキュリティグループは事前に作成して置いてください。セキュリティグループの作成
から別タブで作成ページにも飛べます。
検証目的のためパブリックIPの割り当て
を行いますが、実環境では慎重にご検討ください。
ログイン認証にキーペア
を選択し使用するキーペアを選択します。キーペアは事前に作成しておいてください。
任意のインスタンス名やホスト名を設定してください。
インスタンス名
は管理コンソール上での識別用でホスト
は仮想サーバーのHostnameに設定されるものになります。
今回は使いませんが必要に応じて削除保護
やcloud-init
を設定します。
利用規約
にチェックを入れてインスタンスの作成
を選択します。
Alibaba Cloud ECSへのsshアクセス
仮想サーバーが作成されたので環境にsshアクセスしてインストールを行います。
検証目的のためダイレクトに仮想サーバーへアクセスしますが、実環境では踏み台やVPNアクセスをご検討ください。
管理コンソールのインスタンス情報からパブリックIPを取得します。
Tera Termなどのターミナルソフトかコマンドラインからアクセスします。
Alibaba Cloud のCentOSデフォルトユーザーはroot
になります。
-i
オプションでは作成済みのキーペアの秘密鍵を指定してください。
ssh -i xxxxxxx_aliyun_key.pem root@aa.bb.cc.dd
$ ssh -i xxxxxxx_aliyun_key.pem root@aa.bb.cc.dd
The authenticity of host 'aa.bb.cc.dd (aa.bb.cc.dd)' can't be established.
ECDSA key fingerprint is SHA256:JzAvlgdv19a7F17f1eGaRHmPZw2fMsu0kBy54MyaM08.
Are you sure you want to continue connecting (yes/no)? yes
アクセスに成功すると以下のような画面が表示されると思います。
Docker Install
Rancher自体はDocker上で動くようになっているので先にDockerをインストールします。
公式の手順に沿ってインストールします。
Get Docker CE for CentOS
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl status docker
sudo docker run hello-world
以下のようなメッセージが出ていれば成功です。
Hello from Docker!
This message shows that your installation appears to be working correctly.
ちなみにこの状態ではDockerは自動起動になっていないので、自動起動したい場合は以下のコマンドを実行します。
sudo systemctl enable docker
確認は以下のコマンドを実行します。
systemctl list-unit-files -t service |grep docker
Rancher Install
さて、ようやくRancherのインストールです。
SSL証明書をどうするかによってインストールコマンドが分岐します。
Choose an SSL Option and Install Rancher
個人的にはOPTION D-LET'S ENCRYPT CERTIFICATE
がオススメですが、
ドメインの準備などが面倒なので今回はOPTION A-DEFAULT SELF-SIGNED CERTIFICATE
で実施してみます。
Alibaba Cloud でもLet’s Encrypt
は問題なく利用できます。
下記のコマンドでインストールを実行してます。
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
以上、Rancherのインストールは終わりです。簡単ですね😊
事前準備の方が長いという😅
Rancherのコンテナが起動しているかは以下のコマンドで確認できます。
docker ps
ちゃんと使うにはData Volumeの設定などが必要ですが、今回は検証なので省略します🙇♂️
Rancherへのアクセス
ブラウザからインスタンスのパブリックIPにアクセスします。
セキュリティグループの設定で80
,443
が解放されていればアクセスが成功するはずです。
この画面まで出ていればインストールは成功しています。
初回アクセス時のパスワード設定画面なのでパスワードを設定しContinue
を選択します。
左上の部分が「保護されていない通信」なのは自己署名証明書でインストールしたからです。
次のような画面が出るのでRancherの管理対象ノードがアクセスできるURL
を設定しSave URL
を選択します。
今回はパブリックIPを設定しておきます。
Rancherと管理対象ノード(Kubernetes)が通信する際にここで設定したURLを使用します。
この画面まで出ればあとはKubernetesクラスタをRancherから作成したり、作成済みのKubernetesクラスタをRancherに紐づけて管理するだけです。
というところで、構築編はここまで❗️
設定に関しては別の記事にしたいと思います。
おわりに
どちらかというと Alibaba Cloud ECSの設定手順になってしまいました😅