RancherOSをインストールしたときの手順
RancherOSのインストール手順をイメージファイルをダウンロードするところからまとめています。RancherOS上のデータをファイルサーバー(NAS)に永続化するためのNFSのマウント設定も行っています。
RancherOSとは
RancherOSはDockerコンテナを稼働させるための最小限の機能を提供する軽量なOSです。 サービスを全てコンテナで稼働させるのであれば、ホストOSに高度な機能は必要なく、リソースを効率よく活用できます。
RancherOSをインストールするに至った経緯などは「RancherとGitLabでCI/CD環境と運用環境を構築した」に書いています。
RancherOSのインストール
OSイメージのダウンロード
次のリンクから最新のイメージファイルがダウンロードできます(私がインストールした時のバージョンは v1.4.3 でした)。
https://github.com/rancher/os/releases/latest
イメージの種類がいくつかありますが、今回はUSBに書き込んで物理マシンにインストールするので rancheros.iso をダウンロードします。
起動用USBの作成
Rufusなどお好みのツールで、ダウンロードしたISOイメージをUSBに書き込んでください。
OSのインストール
USBからRancherOSを起動
インストール先のマシンにUSBを挿してOSを起動します。 起動に成功するとRancherOSのコンソール画面が表示されます。 この時点ではSSH接続できないので、コンソールからインストールを進めます。
設定ファイルの作成
#cloud-config
hostname: rancher
ファイルの作成場所は任意です。
ひとまずホスト名だけ指定します。 ホスト名(rancherの部分)は適宜変更してください。 追加の設定はSSH接続できるようになってから行います。
インストール先を確認
sudo fdisk -l
以降は、/dev/sda にインストールする前提で進めます。必要に応じて読み替えてください。
ファイルシステムの作成
パーティションをフォーマットします。 /dev/sda の部分は適切なインストール先に置き換えてください。
sudo mkfs.ext4 -L RANCHER_STATE /dev/sda
インストール実行
パスワード認証のパスワードを設定します。<password>
の部分をパスワードで置き換えてください。 /dev/sda の部分は適切なインストール先に置き換えてください。
sudo ros install -c cloud-config.yml -d /dev/sda --append "rancher.password=<password>"
今回は公開鍵認証の設定は行っていません。
インストールが終わると再起動を促されます。今度はUSBではなくインストール先のパーティションからOSが起動するようにして再起動してください。 再起動が完了するとSSHで接続できるようになります。
OSの設定
SSHログイン
rancher
ユーザーとして、インストール時に指定したパスワードでログインします。
設定ファイルの作成
今回は次のように設定しました。
rancher:
services:
console:
environment:
TZ: 'JST-9'
syslog:
environment:
TZ: 'JST-9'
mounts:
- ["nas.home:/Server/rancheros/", "/mnt/nas", "nfs4", "nfsvers=4,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2"]
ファイルの作成場所は任意です。
- タイムゾーンをJSTに設定
コンソールやログのタイムゾーンを日本標準時間で扱います。 - NASのストレージをNFSでマウント
ホストOSからNAS上に直接保存したいデータの置き場所としてマウントします。NAS側でNFSの設定がされている前提です。ホスト名などは環境に合わせて置き換えてください。
設定のマージ
設定ファイルの内容をシステムにマージして再起動します。
sudo ros config merge -i rancher.yml
sudo reboot
マージされた設定は次のコマンドで確認できます。
sudo ros config export