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
660
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
220
Dockerとは
yasu8899
1
860
ML基本のキの一筆目
yasu8899
0
78
はじめての文字認識_改
yasu8899
1
480
rancheros-in-raspberrypi
yasu8899
2
430
Other Decks in Technology
See All in Technology
Nonaka Sensei
kawaguti
PRO
3
610
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
370k
AIエージェントのフレームワークを見るときの個人的注目ポイント
os1ma
1
520
データ戦略部門 紹介資料
sansan33
PRO
1
3.2k
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
9
5.9k
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
960
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
2.1k
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
430
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
140
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
3
490
やさしい認証認可
minorun365
PRO
29
12k
現場で役立つAPIデザイン
nagix
1
250
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Rails Girls Zürich Keynote
gr2m
94
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
RailsConf 2023
tenderlove
30
1.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
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. スリープ時