少し前に試したけど記録していなかったのでその記録。Rancherは2015年に RancherOSの起動時の仕組みを調べて以降あまり追っていなかったのだけど、最近話題なのとコンテナオーケストレーション周りをキャッチアップしないとな、ということで触ることにした。
構成
こんな感じの構成になる予定。OpenStackのAPIを叩くため、専用のネットワークに繋げている。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
ubuntu@rancher-server:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ac7dadb5930a rancher/server "/usr/bin/entry /u..." 31 seconds ago Up 29 seconds 3306/tcp, 0.0.0.0:8080->8080/tcp pedantic_hopper
Kubernetes用のホスト登録
$ rancher config create-staging-bastion-2 ✭ ◼ URL []: http://floating-ip:8080/ Access Key []: XXXXXXXXXXXXXXXXXXXXX Secret Key []: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Environments: [1] Default(1a5) [2] k8s-test(1a7) Select: 2 INFO[0014] Saving config to /Users/r_takaishi/.rancher/cli.json
さて、ホストの追加だが…こんな感じでできる。イメージにはUbuntuを使ってみる。
rancher --env k8s-test host create --name k8s-1 --driver openstack \ --openstack-auth-url http://openstack-internal-endpoint:35357/v2.0 \ --openstack-username r_takaishi \ --openstack-tenant-name my-tenant \ --openstack-availability-zone my-a \ --openstack-password XXXXXX \ --openstack-region RegionOne \ --openstack-flavor-name m1.large \ --openstack-image-name ubuntu-14.04 \ --openstack-net-name rancher-internal \ --openstack-keypair-name rancher \ --openstack-ssh-user ubuntu \ --openstack-private-key-file /opt/rancher.pem \ --openstack-sec-groups default,rancher \ --openstack-floatingip-pool rancher-external
root@ac7dadb5930a:/# ls /opt/rancher.pem /opt/rancher.pem

ホストを増やす
$ rancher --env k8s-test host create --name k8s-2 --driver openstack \ --openstack-auth-url http://openstack-internal-endpoint:35357/v2.0 \ --openstack-username r_takaishi \ --openstack-tenant-name my-tenant \ --openstack-availability-zone my-a \ --openstack-password XXXXXX \ --openstack-flavor-name m1.large \ --openstack-region RegionOne \ --openstack-image-name rancher-v0.8.0 \ --openstack-net-name rancher-internal \ --openstack-keypair-name rancher \ --openstack-ssh-user rancher \ --openstack-private-key-file /opt/rancher.pem \ --openstack-sec-groups default,rancher \ --openstack-floatingip-pool rancher-external
どこまでKubetnetes側を触れるのか分かっていないけど、かなり手軽に試すことができるなあ。
ホストを消してみる
まとめ
RancherServerをOpenStack上に用意し、OpenStack MachineDriverを使ってホストとしてOpenStackのインスタンスを使ってみた。
- APIを使うための認証情報は見えないようにした方が安全じゃないかな…
1 Comment