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.yml
#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.yml
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

関連する記事