2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

閉域環境(air gap)でRancerセットアップ

Last updated at Posted at 2019-10-15

閉域環境(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にアクセスできる

スクリーンショット 2019-10-15 18.29.43.png

3. k8sクラスタ作成

Rancherコンソールの Add Cluserから作成可能。

スクリーンショット 2019-10-15 18.31.45.png

詳細は以下と重複なので割愛。
https://qiita.com/suzukihi724/items/00b167c6f5f2ddeca718

4. System Chartsの設定

Prometheus + Grafana連携のモニタリング機能を有効化するため、HELMのプライベートリポジトリの設定を追加する。

Global > Tools > Catalogsにて、system-libraryをcloneして、独自に構築しかつsystem-chartsをpush済みのprivate git リポジトリを指定する。

スクリーンショット 2019-10-15 18.42.59.png

5. Monitoringを有効化

Global > Tools > Monitoringにて、モニタリングをenableにすると、prometheus + grafanaのリッチなモニタリングが有効化される。

スクリーンショット 2019-10-15 18.47.44.png スクリーンショット 2019-10-15 18.48.25.png
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?