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
0
610
5分で説明する RancherOS+Rancher2インストール / rancherosinstall
Cloud Native Online #01 のLT資料です。
LTでは中途半端に終わりましたが、
こちらは63ページ Full Verです。
yasu
May 09, 2019
Tweet
Share
More Decks by yasu
See All by yasu
Docker 危険のキ!/Docker the beginning of danger
yasu8899
1
190
Dockerとは
yasu8899
1
800
ML基本のキの一筆目
yasu8899
0
73
はじめての文字認識_改
yasu8899
1
440
rancheros-in-raspberrypi
yasu8899
2
390
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
3
170
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
210
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
120
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
240
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
210
Platform Engineering for Software Developers and Architects
syntasso
1
520
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
140
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
190
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.4k
Featured
See All Featured
Done Done
chrislema
181
16k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Making Projects Easy
brettharned
115
5.9k
Bash Introduction
62gerente
608
210k
Why Our Code Smells
bkeepers
PRO
334
57k
Agile that works and the tools we love
rasmusluckow
327
21k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
GraphQLとの向き合い方2022年版
quramy
43
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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. スリープ時