RancherOS 上で Kubernetes (以下、k8s) を試す際、Docker Engine のバージョンを予め k8s 互換バージョンに指定しておくと便利です。 その場合、cloud-init の定義例は以下のようになります。 尚、k8s と Docker Engine の互換性については Getting Started with Hosts の SUPPORTED DOCKER VERSIONS に記載されています。
検証環境
検証環境は vSphere 6.0 上で構築しています。 RancherOS は以下の構成で 3 台、構築しました。 rancher/server
は rancher-1 でだけ、起動します。
Hostname | rancher/server | rancher/agent | Address |
---|---|---|---|
rancher-1 | ○ | ○ | 10.0.0.1/24 |
rancher-2 | ○ | 10.0.0.2/24 | |
rancher-3 | ○ | 10.0.0.3/24 |
cloud-init
各ホスト用の cloud-init は以下の通りです。
rancher-1
#cloud-config
hostname: rancher-1
ssh_authorized_keys:
- ssh-rsa PUBLIC-KEY
rancher:
docker:
engine: docker-1.12.6
network:
dns:
nameservers:
- 8.8.8.8
- 8.8.4.4
interfaces:
eth0:
address: 10.0.0.1/24
gateway: 10.0.0.254
mtu: 1500
dhcp: false
services:
server:
image: rancher/server
restart: always
ports:
- 8080:8080
rancher-2
#cloud-config
hostname: rancher-2
ssh_authorized_keys:
- ssh-rsa PUBLIC-LEY
rancher:
docker:
engine: docker-1.12.6
network:
dns:
nameservers:
- 8.8.8.8
- 8.8.4.4
interfaces:
eth0:
address: 10.0.0.2/24
gateway: 10.0.0.254
mtu: 1500
dhcp: false
rancher-3
#cloud-config
hostname: rancher-3
ssh_authorized_keys:
- ssh-rsa PUBLIC-LEY
rancher:
docker:
engine: docker-1.12.6
network:
dns:
nameservers:
- 8.8.8.8
- 8.8.4.4
interfaces:
eth0:
address: 10.0.0.3/24
gateway: 10.0.0.254
mtu: 1500
dhcp: false
インストール
cloud-init 用の .yaml を作成する際、手打ちでは厳しいので SSH アクセス出来るように rancher
ユーザへパスワードを設定します。
sudo passwd rancher
cloud-init 用のファイルを作成します。 ファイルの内容は前述の通りです。
vim cloud-config.yml
RancherOS をローカルディスクにインストールします。
yes | sudo ros install -c cloud-config.yml -d /dev/sda
k8s を有効化する
rancher-1 で起動する rancher/server
が起動完了したら WebUI から k8s を有効化します。 これで作業は完了です。
コメント