k3OSのISOイメージがさくらのクラウドに追加された

f:id:febc_yamamoto:20190529153900p:plain

さくらのクラウドパブリックISOイメージk3OSが追加されましたね!

cloud-news.sakura.ad.jp

前回の記事ではk3OSのISOイメージをダウンロード&アップロードして試しました。

febc-yamamoto.hatenablog.jp

これが本日パブリックISOイメージが追加されたことでISOイメージのダウンロード/アップロードが不要となりより簡単にk3OSを試せるようになりました。

パブリックISOイメージから起動してみる(ディスクレス)

前回はCLIを利用した方法を紹介しましたので、今回はコントロールパネルからの操作を紹介します。
前回はディスクにインストールする手順でしたが、今回はディスクレスでISOイメージから起動してそのまま使う方法にしてみました。 (ディスクを作成しない分お安くなっています)

コントロールパネルからサーバの追加

まずコントロールパネルからサーバ追加画面へ移動します。

サーバ追加画面ではシンプルモードのチェックを外すのがポイントです。
(サーバ作成時にISOイメージを挿入するには非シンプルモードである必要があります)

その後、ディスクレスを選択した上で挿入するISOイメージとしてk3OS v0.2.0 amd64を選択します。

f:id:febc_yamamoto:20190529115651p:plain

もしディスクを接続したい場合は新規ディスクを作成を選択し、ディスクソースにブランクを指定すればISOイメージ選択欄が出てきます。

次のNICの設定はデフォルトのインターネットに接続を選択しておきます。

f:id:febc_yamamoto:20190529120303p:plain

これは共有セグメント(共有回線)経由でインターネット接続を行うという指定です。 共有セグメントではDHCPによるグローバルIPの割り当てが利用可能となっています。

manual.sakura.ad.jp

なお、k3OSのドキュメントによると、サーバのコア数/メモリはデフォルトの1コア/1GBで大丈夫なようです。

Live install (boot from ISO) requires at least 1GB of RAM.

GitHub - rancher/k3os: Purpose built OS for Kubernetes, fully managed by Kubernetes.

しかし1GBメモリだとイメージのpullなどでエラーになる場合があったため手元の環境ではメモリ2GBで試しました。 (他の要因もあるかもしれませんが調べてません)

参考: CLIでサーバ作成する場合

CLIの場合は以下のコマンドでOKです。

$ usacloud server build --name k3os --disk-mode diskless --iso-image-id `usacloud iso-image read -q k3OS` --memory 2

起動してコンソール接続

サーバを作成&起動後、コントロールパネルからコンソールを開きます。

f:id:febc_yamamoto:20190529120551p:plain

後は前回と同じくユーザー名rancher(パスワードなし)でログイン可能です。

ログイン後の設定

SSH

このまま試しても良いのですが、コンソール接続だとコピペができない(ペーストはコンパネ経由でできる)など色々不便なのでSSH接続できるようにします。

今回はGitHubからユーザーの公開鍵を取得して利用します。
以下のコマンドをコンソールで実行します。ユーザー名部分は任意のものに変更してください。

# GitHubのユーザー名が"yamamoto-febc"の場合
$ curl -L -o /home/rancher/.ssh/authorized_keys https://github.com/yamamoto-febc.keys
$ chmod 0600 /home/rancher/.ssh/authorized_keys

なお、コンソール接続している時点ではキーボードがUS配列になっていると思います。 普段US配列以外をお使いの場合は記号の入力の際にご注意ください。

この後SSHで接続できるようになっているはずです。

$ ssh rancher@サーバのグローバルIPアドレス

なお公開鍵を用意するのが面倒な方は以下のコマンドでrancherユーザーにパスワードを設定する方法もあります。

$ sudo passwd rancher

/etc/hosts

/etc/hostsを編集し自身のホスト名を解決できるようにします。 ホスト名はhostnameコマンドなどで、IPアドレスip a show dev eth0コマンドなどで確認しておきます。

今回は/etc/hostsを以下のようにしました。

127.0.0.1       localhost localhost.localdomain
127.0.1.1       k3os-14500 k3os-14500.localdomain

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# これを追記(IPアドレス/ホスト名は適宜修正)
153.120.168.44 sv-113100883194

これでひとまず利用できる環境が整いました。 後は色々動かしてみましょう。

終わりに

ISOイメージを用意してくれてるのは楽ですね。 とりあえず雰囲気を確認したいというような場合に手軽に使えて良いと思います。

以上です。