Download - Rancher プライベートカタログとCompose
プライベートカタログとCompose
自己紹介• m-daichang と申します• しがないフリーランスです
インフラメインで仕事してます• 一昨年まで金融系のガチインフラ屋さんでした
のでソーシャル系サービスには非常に疎く
・ twitter : ROM 専用・ Facebook : ミバレコワイ・ GitHub : m-daichang
最近ようやく取得・ Qiita : 同上
• 最近のなやみ : フリーランスの名刺を作ってなくて (SIer 経由で仕事してると使わない ) こういう時に困ってます。。。
皆さん、 Rancher は使ってますか?
docker コンテナの管理ツールとして便利ですよね〜
この画面ばかり見てませんか?
。。。もしかして Hosts 画面をメインに使用されてますか?
もったいない!!Rancher の真骨頂は Stack と Catalogと言っても過言ではないのです!
コッチ!
Stack ? Catalog ?何それおいしいの?
イマイチよく分からないし。。。⇨目的に合わせて複数のコンテナをまとめたのがStack 、 その Stack を作成するための設計書が Catalog です。 ※最近 docker 1.13 でも stack の概念が取り入れられました。
Stack
ServiceContainerContainer
ServiceContainerContainer
Catalog
Rancher
Stack ? Catalog ?何それおいしいの?
例えばサービス丸ごと Stack として Catalog にしておけば環境のデプロイがすごい簡単にできる、ということです。(本番・開発でも A/B テストでも)
Stack A
フロントエンド
バックエンド
DBKVS
Stack B
フロントエンド
バックエンド
DBKVS
Stack ? Catalog ?何それおいしいの?
⇨Catalog 、自分で作れますよ?
それが
プライベートカタログ です
便利そうだけど、欲しい機能が Catalog
にないし〜
必要なもの
• Rancher サーバ(当たり前)• GitHub などの git clone できる環
境(今回は GitHub を使用します)
たったこれだけ!
ファイル構成
https://docs.rancher.com/rancher/v1.4/en/catalog/private-catalog/
templates
Stack 名
2 つで 1 セット
バージョン毎にフォルダ分け実は数字じゃなくてもいいです
catalogIcon-<Stack 名>.svg
svg じゃなくもいいです
config.yml
rancher-compose.yml新しいバージョン作る時
に変更し忘れ注意
あんまり意味はないですまずは scale : 1 で
docker-compose.yml基本 docker-compose v2 と同じです。肝は labels ですがとりあえずは下の 1 行だけで良いです。
とりあえずこれだけ書きましょう
プライベートカタログ設定ADMIN -> Settings -> Catalog -> Add Catalog
① ②
プライベートカタログ設定
③適当でいいです
④git の情報※⑤
※GitLab などのユーザー認証が必要なものの場合は https://<user>:<pass>@<URL> ちょっとセキュリティ的にどうか、という気も。。。※ 自己証明書の場合は http に変更、もしくは Rancher サーバコンテナに入り、 「 git config --global http.sslVerify false 」を打つ必要があります
プライベートカタログ設定
CATALOG にプライベートカタログが登
場します!ここまで表示されていれば
成功です
プライベートカタログ設定あとは こうして⇦⇩こうして
プライベートカタログ設定
はい!出来上がり!
ね?簡単でしょ?
ただ、 Stack 作成時にパラメータ渡したいですよね?
rancher-compose.yml にquestion という項目をつけるとStack 作成時にパラメータをつけることができます。
rancher-compose.yml 〜questions 〜
変数名
必須かどうかtrue にすると
label に * がつきます
入力タイプ⇨次のページ
rancher-compose.yml 〜 type: int 〜
port などの数値を入力するのに使用します。port が被りやすい docker 環境においてよく使うものになります。
rancher-compose.yml 〜 type: string 〜
文字列を入力するのに使用します。
rancher-compose.yml 〜 type: multiline 〜
文字列(複数行)を入力するのに使用します。json 形式などで設定情報を流し込む際に使用します。
rancher-compose.yml 〜 type: password 〜
パスワードを入力するのに使用します。Stack 作成後に Yaml 情報見るとそのまま載ってくるので意味はあまりない。。。
rancher-compose.yml 〜 type: enum 〜
ドロップダウンリストを選択させる場合に使用します。
rancher-compose.yml 〜 type: service 〜
起動している Stack 上のサービスを選択できます。他の Stack との連携をするのに重要な type です。
使い方 (docker-compose.yml)
こんな感じでゴリゴリ・ rancher-compose.yml・ docker-compose.ymlを書いていくと。。。
こんなことも可能になります
もっと詳しく学びたい方はRancher の community-catalog を
参考にされても良いかもですhttps://github.com/rancher/community-catalog
みなさんも、プライベートカタログで楽しい Rancher 生活を
次回予告•A/B テストも楽勝?内部 LB の魅力•Master/Slave 系のサービスもコンテナで可能?Sidekick を使いこなせ!
まあ、本当にやるかは未定ですが。。。
ご静聴ありがとうございました