Rancher2.0 Tech Preview2の主要機能として追加された「Create a RKE Cluster」は、RKE(Rancher Kubernetes Engine)を利用して、AWS、Azure、DigitalOcean、Packet、vSphereに対してKubernetesクラスタを作成することができます。(※2018年2月現在)
Rancher2.0 Tech Preview2からAWS上にKubernetesクラスタを作成してみましょう。
Tech Preview2のインストールはRancher2.0 Tech Preview2についての「Get Started with Rancher 2.0」を参考にしてください。
Rancher2.0 Tech Preview2でAWS上にKubernetesクラスタを作成
1.Rancher2.0 Tech Preview2 Serverにログイン後に、「Add Cluster」ボタンをクリックします。
2.「Create a RKE Cluster」の「Select」ボタンをクリックします。
3.nameに任意名を入力(今回はaws-k8s-clusterとします。)して、「Add a new cluster」をクリックします。
4.「Configure」をクリックします。
5.「Amazon EC2」を選択し、nameに任意名を入力(今回はaws-k8s-clusterとします。)し、Countは「3」、Regionは「ap-northeast-1」、Access keyとSecret keyはAWSのIMA Management Consoleでグループとユーザを作成し、そのユーザーのものを入力します。そして、「Next:Authenticate & select a network」ボタンをクリックします。
6.vpcを選択して、「Next:Select a Security Group」ボタンをクリックします。
7.「Next:Set Instance options」ボタンをクリックします。
8.「Create」ボタンをクリックします。
9.kubernetesの構成を作成します。最後に「Create」ボタンをクリックします。
10.しばらくするとkubernetesクラスタ構築が完了します。
クラスタ名をクリックすると全体のリソース状況が可視化されます。
11.上部メニュー「Nodes」を選択します。
AWS上に構築されたkubernetesクラスタの状況を確認できます。各クラスタ名をクリックするとリソース状況が可視化されます。
12.「KubeConfig File」ボタンをクリックします。
kubectlコマンドのconfigファイルをクリップボードにコピーできます。
kubectlコマンドを実行できるクライアントをローカルまたはサーバで構築します。今回はGCP上にGCEのインスタンス(Ubuntu 16.04 LTS)を1台用意します。
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
$ mkdir .kube
$ vim .kube/config
# クリップボードにコピーした内容をペーストして保存します。
:wq
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aws-k8s-cluster1 Ready etcd,master 26m v1.8.5-rancher1
aws-k8s-cluster2 Ready worker 23m v1.8.5-rancher1
aws-k8s-cluster3 Ready worker 25m v1.8.5-rancher1
これで、kubectlコマンドでアプリケーションをデプロイすることが可能となります。
13.AWSのコンソールを確認します。
インスタンスが3台で来ていることが確認できます。
以上となりますが、AWS以外のAzure、DigitalOcean、Packet、vSphereも同様にRKEでkubernetesクラスタを構築できると思います。
参考資料
RKE(Rancher Kubernetes Engine)
- Announcing RKE, a Lightweight Kubernetes Installer
- An Introduction to Rancher Kubernetes Engine (RKE)
- 軽量KubernetesインストーラRKEを発表
- Rancher Kubernetes Engine(RKE)の紹介
- RKEってなんじゃ?
- RKEでオンプレKubernetesクラスタを作り、その上でOpenFaaSを動かす - その1
- RKE & Rancher2.0
- Rancher Kubernetes Engine(RKE) & Rancher 2.0 Technical Preview on Fujitsu K5