Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
5分で説明する RancherOS+Rancher2インストール / rancherosin...
Search
yasu
May 09, 2019
Technology
710
0
Share
5分で説明する RancherOS+Rancher2インストール / rancherosinstall
Cloud Native Online #01 のLT資料です。
LTでは中途半端に終わりましたが、
こちらは63ページ Full Verです。
yasu
May 09, 2019
More Decks by yasu
See All by yasu
Docker 危険のキ!/Docker the beginning of danger
yasu8899
1
260
Dockerとは
yasu8899
1
890
ML基本のキの一筆目
yasu8899
0
80
はじめての文字認識_改
yasu8899
1
490
rancheros-in-raspberrypi
yasu8899
2
470
Other Decks in Technology
See All in Technology
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4.2k
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
220
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
150
ARIA Notifyについて
ryokatsuse
1
120
Amazon S3 Filesについて
yama3133
2
190
AI バイブコーティングでキーボード不要?!
samakada
0
280
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
230
Choose your own adventure in agentic design patterns
glaforge
0
120
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
220
AI時代 に増える データ活用先
takahal
0
170
QGISプラグイン CMChangeDetector
naokimuroki
1
340
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
What's in a price? How to price your products and services
michaelherold
247
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Limits of Empathy - UXLibs8
cassininazir
1
300
Darren the Foodie - Storyboard
khoart
PRO
3
3.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Transcript
5分で説明する RancherOS+Rancher2 インストール Cloud Native Online #01 令和元年/05/09 小田@仙台
・専門用語がわからない。 ・とにかく動かしたい場合の手順を探しにくい。 書いた動機 これらを解消した、現時点の資料があったらいいなぁ
Rancher コンテナ管理ツール RancherOS コンテナを動作させるための専用OS 違い
VirtualBox 5.2.8 r122009 RancherOS 1.5.1 Rancher 2.2.2 (Single Node)
環境
下記ページの中ほどある、「rancheros.iso」を ダウンロードします。 https://github.com/rancher/os RancherOS ISOの入手
手順はgoogle先生に https://www.google.com/search?q=virtualbox+インストール VirtualBoxのインストール
仮想マシンを作成します。 参考)私が作成した仮想マシンのスペック CPU 3CPU メモリ 4096MB DISK 100GB
タイプ Linux バージョン Other Linux(64-bit) 仮想マシン作成
ネットワークを「ブリッジアダプター」に変更します。 仮想マシン作成
NAT構成の場合、Nodeの追加に失敗する。 「docker container logs -f rancher」でログを見ると 「10.0.2.15」が現れる。 VirtualBoxのNATとは相容れないのではないかと予測。 正確な原因は不明だが、ブリッジにすることで 回避できそう・・・。
ブリッジアダプターにした理由
「rancheros.iso」をマウントし、 仮想マシンを通常起動します。 仮想マシン作成
RancheOSをインストールします。 詳細は公式を確認。 https://docs.docker.com/install/linux/docker-ce/centos/ 下記が表示されたら「y」を入力します。 RancheOSのインストール $
sudo ros install -d /dev/sda --append "rancher.password=パスワード" Continue [y/N]:
起動しました。 仮想マシン作成
下記が表示されたら「n」を入力します。 シャットダウンします。 RancheOSのインストール Continue with reboot
[y/N]: # sudo poweroff
「rancheros.iso」のマウントを解除し、 仮想マシンを通常起動します。 起動したらログインします。 ユーザ名 rancher パスワード インストール時に設定したパスワード 仮想マシン作成 rancher
login: rancher Password:
※環境がDHCPの場合、このページの作業は不要 起動したらログインします。 ユーザ名 rancher パスワード インストール時に設定したパスワード RancheOSのネットワーク設定
※環境がDHCPの場合、このページの作業は不要 下記コマンドを実行します。 ※各値は、環境に合わせて変更してください。 RancheOSのネットワーク設定 $
sudo ros config set rancher.network.dns.nameservers "['192.168.1.10']" $ sudo ros config set rancher.network.interfaces.eth0.dhcp false $ sudo ros config set rancher.network.interfaces.eth0.address "192.168.1.100/24" $ sudo ros config set rancher.network.interfaces.eth0.gateway "192.168.1.1"
※環境がDHCPの場合、このページの作業は不要 確認します。 RancheOSのネットワーク設定
$ sudo ros config export rancher: network: dns: nameservers: - 192.168.1.10 interfaces: eth0: address: 192.168.1.100/24 dhcp: false gateway: 192.168.1.1
※環境がDHCPの場合、このページの作業は不要 再起動します。 RancheOSのネットワーク設定 # sudo
reboot
仮想マシンを起動します。 起動したらログインします。 ※これ以降の作業は、sshが使用できます。 ユーザ名 rancher パスワード インストール時に設定したパスワード 仮想マシン作成
コンソールを切り替えます。 下記が表示されたら「y」を入力します。 自動的に再起動されます。 RancheOSの設定 $ sudo
ros console switch centos Continue [y/N]:
再起動後に確認します。 RancheOSの設定 $ sudo ros console list disabled alpine current
centos disabled debian disabled default disabled fedora disabled ubuntu
Rancher公式サイト https://rancher.com/docs/rancher/v2.x/en/installation/single-node/ 公式サイトに書かれているコマンド ※このコマンドは実行しません。 Rancher 起動 sudo docker run
-d --restart=unless-stopped \ -p 80:80 -p 443:443 \ rancher/rancher:latest
こちらを実行しましょう。
実行すると、イメージのダウンロードが始まります。 Rancher 起動 $ docker container run -d --restart=unless-stopped \ --name rancher -h rancher \ -v /opt/rancher:/var/lib/rancher \ -v /var/log/rancher/auditlog:/var/log/auditlog \ -e AUDIT_LEVEL=1 \ -p 8080:80 -p 8443:443 \ rancher/rancher:latest
--name rancher -h rancher コンテナとコンテナ内のOSに名前を付けている -v /opt/rancher:/var/lib/rancher
設定をホスト上に保存するためマウントする -v /var/log/rancher/auditlog:/var/log/auditlog ログを監査ホスト上に保存するためマウントする -e AUDIT_LEVEL=1 監査ログのレベル -p 8080:80 -p 8443:443 シングルノードだと、コンテナとホスト側ポートが被るので変更する Rancher 起動
起動の確認 Rancher 起動 $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ea797af57529 rancher/rancher:latest "entrypoint.sh" 7 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp rancher
ブラウザで下記へアクセスします。 https://仮想マシンのIP:8443/ Rancherへ接続
「New Password」と 「Confirm Password」を 入力して、 「Continue」ボタンを クリックします。
admin アカウントのパスワード設定
URLを確認して、「Save URL」ボタンを クリックします。 Rancher サーバのURL設定
画面右下の「English」を クリックして、リストから 「日本語(ja-jp)」を 選択します。 日本語表示
「クラスターを追加」 ボタンをクリックします。 クラスターを追加
「Custom」をクリックします。 クラスターを追加
「クラスター名」を入力して ページ一番下の「次へ」をクリックします。 ※ここでは、クラスター名を「cluster」にしています。 クラスターを追加
「ノードロール」は、 「etcd」、「Control」、「Worker」のすべてを チェックします。 クラスターを追加
下記のコマンドをコピーして、「完了」ボタンを クリックします。 クラスターを追加
nodeの追加待ちになります。 クラスターを追加
コピーしたコマンドを実行します。 ※下記のコマンドはtokenが違うので実行しても 失敗します。必ず自身の環境のコマンドを実行します。
クラスターを追加 $ sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.2.2 --server https://192.168.1.100:8443 --token 8v2jn4n2rpns69ctzxgvx2tlhgdr76cpz67fq6l69rd2hwvz9fmgvf --ca-checksum 555037031e7dde0bb6a4e963446d1fa88c5e6ab6165bf34cb69d2abe75e53bf6 --etcd --controlplane --worker
コマンドを実行するとworkerコンテナの実行が始まり、 さらにバックエンドでetcd、Hyperkubeコンテナの実行が 始まります。 CUI・WebUI共に画面の変化が乏しいですが、動いています。 かなり時間がかかります。 クラスターを追加
成功すると、状態が「Active」になります。 クラスターを追加
画面上部の「グローバル」にカーソルを置き、 展開されたメニューの「Cluster Active」に カーソルを置き、「System Active」をクリックします。 ワークロードの確認
コンテナの一覧が表示されます。 下記のようにまだ起動中のものがある場合は、すべてが 「Active」になるまで待ちます。 ワークロードの確認
画面上部の「Cluster System」にカーソルを置き、 展開されたメニューの「Cluster Active」に カーソルを置き、「Default Active」をクリックします。 カタログの表示
画面上部の「カタログアプリ」をクリックします。 カタログの表示
「起動」をクリックする。 カタログの表示
worspressの「詳細を見る」をクリックする。 WordPressの起動
ページ一番下の「起動」をクリックする。 WordPressの起動
状態が、「installing」になっています。 起動するまで、待ちます。 WordPressの起動
状態が「Active」になりました。 「80/http」をクリックします。 WordPressの起動
http://xip.io-wordpress.wordpress.192.168.128.248.xip.io/ WordPressの起動
WordpressのURLですが、下記のようになります。 http://xip.io-wordpress.wordpress.192.168.1.100.xip.io/ 名前解決には、xip.ioを使用しています。 dig等で名前解決すると、RancherOSのIPアドレスになっている ことが確認できます。 ※xip.io xip.ioの前の数字をIPアドレスとして返すもの。 「sample.1.2.3.4.xip.io」を名前解決すると「1.2.3.4」が返ります。
WordPressのURL
画面上部の「Cluster Default」にカーソルを置き、 展開されたメニューの「Cluster Active」をクリックします。 監視の有効化
画面右の方の「Enable Monitoring to see live metrics」をクリック します。 監視の有効化
Cluster Monitoring Configuration画面が開きます。 右の方の「有効」をクリックします。 ページ一番下の「保存」をクリックします。 必要なコンテナが起動するまで、待ちます。 監視の有効化
待ちます。 監視の有効化
監視機能が起動するとこうなります。 監視の有効化
Grafanaの画面。 監視の有効化
詳細は、以下。 https://rancher.com/docs/os/v1.x/en/installation/configuration/ Tips.1 RnacherOSの設定 値を設定する $ sudo ros config set
<key> <value> 複数の値を設定する(DNSの設定など) $ sudo ros config set <key> "[`xxx`, `yyy`]" yamlファイルから値を設定する $ sudo ros config merge -i <yaml file>
Tips.1 RnacherOSの設定 値を確認する $ sudo ros config get <key>
設定を取得する $ sudo ros config export
RancherOSの停止・再起動に必要な作業はありません。 「sudo poweroff」・「sudo reboot」で実行します。 起動後、必要なコンテナは自動起動します。 このドキュメントの従っていれば、Rancherの設定はローカル ディスク上(/opt/rancher)に保存されています。 Tips.2 RnacherOSの停止
node追加コマンド実行後、以下のメッセージが出力されました。 [etcd] Failed to bring up Etcd Plane: [etcd]
Etcd Cluster is not healthy そのまま放置していたら、気が付いた時には状況が進んでいま した。 Tips.3 クラスタ作成中のエラー
監視を有効にして、保存しようとすると図のようなメッセージが 出力され、「保存」が押せないことがあります。 メッセージから、CPUパワーが足りないと考え、 CPU数を2から3にしたところ解消しました。 Tips.4
監視の有効化中のエラー
エラーや異常があり、やり直したい場合の手順です。 詳細は以下。 https://rancher.com/docs/rancher/v2.x/en/cluster-admin/cleaning-cluster-nodes / 全てのコンテナを停止・削除します。 Tips.5 クリーンアップ $
docker container rm -f $(docker container ls -qa)
不要なファイル・ディレクトリの削除 以上の操作を行ったあとは、「Rancher 起動」の項目から再開 できます。 Tips.5
クリーンアップ $ sudo rm -rf /etc/ceph /etc/cni /etc/kubernetes /opt/cni /opt/rke \ /run/secrets/kubernetes.io /run/calico /run/flannel /var/lib/calico \ /var/lib/etcd /var/lib/cni /var/lib/rancher/rke/log /var/log/containers \ /var/log/pods /var/run/calico /opt/rancher/
ノートPC等でスリープしてネットワークが落ちた場合、復帰後に rancher/rancherコンテナが再起動を繰り返すことがあります。 RancherOSの再起動で回復します。 詳細の調査は未実施。いずれは・・・ Tips6. スリープ時