プロジェクトやgcloudの設定など、本記事と本質的に関係の無い所は除外します。
また、序盤の環境構築は公式のチュートリアルを基にしています。
環境の構築
では早速GCEインスタンスの立ち上げまでを進めていきましょう。
RancherOSはイメージとして.tar.gz
ファイルとして提供されています。
まずはそのイメージをローカルマシンに持ってきましょう。
以下のReleasesから、rancheros-gce.tar.gz
をダウンロードするか、その下にあるコマンドを任意のディレクトリで実行します。
$ curl -OL https://github.com/rancher/os/releases/download/v1.5.4/rancheros-gce.tar.gz
上記コマンドを実行する場合は、バージョンを指定しているので最新バージョンを確認し、置換してください。
ダウンロードしたら、次はGCSバケット作成します。
まずgcloudのconfigが正しいかをしっかり確認しましょう。
$ gcloud config list
GCPではリソースはプロジェクト毎に管理されるので、間違ったプロジェクトで作業しないようしっかり確認してください。
$ gsutil mb gs://rancher-image4qiita
今回はrancher-image4qiita
という名前でバケットを作成しています。
バケットを作成したら、先程ダウンロードしたイメージをGCSバケットにアップロードします。
$ gsutil cp ./rancheros-gce.tar.gz gs://rancher-image4qiita
イメージをアップロードできたので、このイメージからGCEで利用可能なカスタムイメージを生成します。
$ gcloud compute images create my-rancher --source-uri gs://rancher-image4qiita/rancheros-gce.tar.gz
イメージ名はmy-rancher
にしています。--source-uri
オプションには先程アップロードしたイメージのURIを指定します。また、こちらのコマンドは多少時間がかかります。
カスタムイメージが作成できたら、そのイメージでインスタンスを準備します。
まずはファイアーウォールのルールを作りましょう。
$ gcloud compute firewall-rules create allow-rancher --allow tcp:22,tcp:80,tcp:443 --source-ranges 0.0.0.0/0
それをタグとして追加したインスタンスを立ち上げます。
$ gcloud compute instances create rancher-instance --machine-type n1-standard-1 --image my-rancher --tags allow-rancher
RancherOSのメモリ要件として1GB以上となっています。n1-standard-1を選んでおけば問題ないです。
インスタンスが立ち上がったらSSHで接続しましょう。
$ ssh rancher@IP_ADDR -i SSHKEY_PATH
ログインできたら準備完了です。 dockerのバージョンでも確認しておきましょう。
$ docker -v
RancherServerのGUIでコンテナ管理はあとから書きます