閉域環境(air gap)でRancerセットアップ
閉域環境(air gap)でRancerセットアップするメモ
参考:
https://rancher.com/docs/rancher/v2.x/en/installation/air-gap/
前提条件
・Rancher v2.3.0
・EC2(amazon linux2) m5.xlarge x 3 in VPC
※EC2のSGは同一でSELF INBOUND/OUTBOUND ALL
閉域環境に以下があること
・Private Docker Registry
・gitリポジトリ
rancherが必要なすべてのdockerイメージは、閉域環境からアクセス可能なdocker registryにpushしておく必要がある。
また、loggingやmonitoringなどのシステム機能は、HELMのsystem-chartsを、閉域環境からアクセス可能なリポジトリ(gitなど)にpushしておく必要がある。
※Private Docker RegistryとHELM chart用のgitリポジトリ(gitlabやgitbucketなど)のサーバ設定方法は割愛
1. 事前準備
[1] ホスト編
Rancher及びkubernetesを起動するnode(ホストサーバ)には、以下セットアップを実施
・dockerインストール
・private docker registryからpullできる設定(CERTSやDNSなど含む)
逆に言えば、これだけで良い。
[2] Private Docker Registry
外部インターネット接続可能な環境で、閉域でのrancher起動に必要なイメージをすべてpullする。
公式の一括DLスクリプトが提供されているので、それを用いる
#イメージの一括DLスクリプト
wget https://github.com/rancher/rancher/releases/download/v2.3.0/rancher-save-images.sh
#収集リスト
wget https://github.com/rancher/rancher/releases/download/v2.3.0/rancher-images.txt
#収集実行
sh rancher-save-images.sh
実行すると rancher-images.tar.gz
が作成される(3.5 GB)ので
それを閉域環境へ持ち込む。
なお、持ち込んだtar.gzをprivate docker registryに一括pushするスクリプトもあるので、こっちも事前にDLしておき、閉域環境へ持ち込む。
wget https://github.com/rancher/rancher/releases/download/v2.3.0/rancher-load-images.sh
閉域環境へ持ち込んだら、private docker registryを指定して実行すると、一括pushできる。
sh rancher-load-images.sh --registry <private docker registry>:<port>
[3] git : HELM system-charts
外部インターネット接続可能な環境で、閉域でのrancher起動に必要なCHARTをすべてpullする。
git clone -b release-v2.3 https://github.com/rancher/system-charts.git
※Rancherバージョンとbranchの対応が異なると、正常に動作しない場合あり。
pullしたものを一式private git repository(gitlabやgitbucketなど)にpushする。
2. Rancher Server起動
Rancherサーバの構築方法は
・HA Install
・Single Node Install
の2種類ある。
HA Installはその名の通り可用性の高い構成で、Rancherサーバ自体をk8sで構築する。k8s管理ツールをk8sで立てると言う、ややカオスな構成。
k8s構築にはRKEと言うクラスタ構築ツールもある。
ここではSingle Node Installについて述べる。
Rancher Server(Single Node Install)の実行は以下
docker run -d --restart=unless-stopped
-p 80:80 -p 443:443
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=<private docker registry>:<port>
-e CATTLE_SYSTEM_CATALOG=bundled
rancher/rancher:v2.3.0
Rancher ServerのSSLの設定をどうするかでオプションが異なるが、
上記は「SELF-SIGNED CERTIFICATE」の例。
オレオレ証明じゃない設定も可能。
正常にrunできればブラウザからrancher serverにアクセスできる
3. k8sクラスタ作成
Rancherコンソールの Add Cluserから作成可能。
詳細は以下と重複なので割愛。
https://qiita.com/suzukihi724/items/00b167c6f5f2ddeca718
4. System Chartsの設定
Prometheus + Grafana連携のモニタリング機能を有効化するため、HELMのプライベートリポジトリの設定を追加する。
Global > Tools > Catalogsにて、system-libraryをcloneして、独自に構築しかつsystem-chartsをpush済みのprivate git リポジトリを指定する。
5. Monitoringを有効化
Global > Tools > Monitoringにて、モニタリングをenableにすると、prometheus + grafanaのリッチなモニタリングが有効化される。
Author And Source
この問題について(閉域環境(air gap)でRancerセットアップ), 我々は、より多くの情報をここで見つけました https://qiita.com/suzukihi724/items/52e3050144738a58de5e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .