-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_KubernetesSetup
- 戻る(Kubernetes)
- Kubernetesの構築
- Kubernetesの運用
- Kubernetesの監視
たまたまオンプレ構築の話があったので調査。
-
以下のような、様々なタイプが在るので、コレは、
もう、「マネージド・サービス」がイイよね(普通は)。 -
実際、FgCF の W-AF - Securityでは、
「CaaSは Managed 型のサービスを使う。」と言われている。
- 全コンポーネントを 1 つのサーバで起動。
- テスト、学習、開発用。
1つのマスタと複数のノード(いずれもKubernetesの該当節を参照)
- HA 構成の複数のマスタと、複数のノード(いずれもKubernetesの該当節を参照)
- API サーバの入り口にはロードバランサがあり、
- スケジューラとコントローラマネージャはリーダーを選択します。
- なお、etcd はシングルノードのまま。
- HA 構成の複数のマスタと、複数のノード(いずれもKubernetesの該当節を参照)
- HA 構成の etcd(Kubernetesの該当節を参照)はマスタノードとは別のノードでクラスタ化。
Kubernetes The Hard Wayの手順と比べ、
比較的容易にクラスタを構成するためのCLI
- Kubernetesが提供しているKubernetes公式の環境構築ツール
- 最新バージョンの環境のインストールが可能
- 対応するOSなどと幅広い
- Ubuntu 16.04以上
- Debian 9(Stretch)
- CentOS 7
- Red Hat Enterprise Linux 7
- Fedora 25/26
- Ubuntuなどで推奨されている方法・ツール。
- インストール作業を自動で行う。
- CoreOSが提供しているディストリビューション
-
Ansibleベースの構築ツール
-
高度な Ansible Playbook。旧名は kargo。
-
AWSやGCPなどのクラウド環境や、
ベアメタル(RHELなどのOS)に対応 -
マルチノードクラスタを構築できる。
VirtualBox 上で実行されるために作られた、とてもシンプルなツール
Minikubeのような仮想マシンを
利用せずにK8sを動かすことができる。
-
Rancher Labs社:k3s
- 様々な機能が削られている。
- MasterとNodeで分散稼働する。
- EdgeコンピューティングやARMバイナリで動く
- IoTなどのスモールデバイス向き。
-
Canonical社:MicroK8s
- ワンコマンドでK8sの実行環境を作ることができる。
- MasterとNodeという分散動作せず、冗長性はない。
- 開発向けのシングルK8sを動かすことに特化。
K8s自体をdockerベースで起動する方法
- AKS
-
EKS
-
kops:AWS用
- K8sクラスタ構築のCLI
- AWSのみ公式サポート
- GCEやOpenStackはベータ版
- インフラ構成管理ツールである
Terraformの構成ファイルを生成できる。
-
kube-aws:AWS用
- Google Kubernetes Engine(GKE)
kubeadmベース
Docker for Desktop(MAC)とEKSによる手順。
-
数時間で完全理解!わりとゴツいKubernetesハンズオン!!
https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d -
今度はあんまりゴツくない!?
「わりとゴツいKubernetesハンズオン」そのあとに
https://qiita.com/Kta-M/items/83db480075caabcb0b7a
Minikubeによる手順。
- #1 Minikube導入編
https://qiita.com/theFirstPenguin/items/5266300214de6d7c7228 - #2 HelloWorld Podをデプロイしてcluster外からアクセスする
https://qiita.com/theFirstPenguin/items/4342500d9d0eef289dc7 - #3 nodeのpvとホストvolumeを同期し、podの中にpvcを設定するなど
https://qiita.com/theFirstPenguin/items/51235c48dc680d9f209d
Raspberry Pi(Raspbian)上で、kubeadmを使用した手順。
- 【物理編】
https://qiita.com/go_vargo/items/d1271ab60f2bba375dcc - 【論理編】
https://qiita.com/go_vargo/items/29f6d832ea0a289b4778
環境選択で、GKE → Docker For Mac → Raspberry Pi(Raspbian)と変遷し、
その後、Raspberry PiでおうちKubernetes構築より深い所までの構築をしている。
ただし、kubectl一本槍で、Helm Chartsや
Rancher Chartsなどは使用しない。
-
- Docker For Mac
https://qiita.com/silverbirder/items/d1aa368568885df2e44f
- Docker For Mac
-
workloads
-
discovery&LB
-
config&storage
-
- ヘルスチェックとコンテナライフサイクル
https://qiita.com/silverbirder/items/8df21f399c453b9f8e51
- ヘルスチェックとコンテナライフサイクル
Kubernetes the hard wayのORG(GCP)版を参考にしているらしい。
Kubernetes the hard wayのVagrant版を参考にしているらしい。
- #1 全体像を理解する
https://qiita.com/theFirstPenguin/items/1f702af92f4eee83f398 - #2 Vagrantでオンプレ環境構築
https://qiita.com/theFirstPenguin/items/eb7098c7a951fb12636e - #3 サーバー/クライアント証明書の準備
https://qiita.com/theFirstPenguin/items/4d771068589f5dab6cc0 - #4 クラスターコンポーネントの設定ファイルを生成する
https://qiita.com/theFirstPenguin/items/09076335cb46cbfc05e2 - #5 etcdサーバーを設定する
https://qiita.com/theFirstPenguin/items/7e247021ecadb82ac8ec - #6 Control Plane コンポーネントを設定する
https://qiita.com/theFirstPenguin/items/3dc4a6aadd91908d4435 - #7 Workerノードの設定
https://qiita.com/theFirstPenguin/items/e3279a34aea28c3c946f - #8 WorkerノードのTLS証明書作成自動化
https://qiita.com/theFirstPenguin/items/f16488c48711572571df - #9 kubectlのリモートアクセス設定
https://qiita.com/theFirstPenguin/items/8acc282659207f315301 - #10 RBAC for Kubelet Authorization
https://qiita.com/theFirstPenguin/items/0a27dfc09898df3317d7 - #11 Podネットワークの構築
https://qiita.com/theFirstPenguin/items/3630d5894485b679e80d
-
管理入門
-
kubernetesによるDockerコンテナ管理入門
https://knowledge.sakura.ad.jp/3681/ -
続・KubernetesによるDockerコンテナ管理入門
https://knowledge.sakura.ad.jp/14380/
-
-
構築入門
- 2019年版・Kubernetesクラスタ構築入門
https://knowledge.sakura.ad.jp/20955/
- 2019年版・Kubernetesクラスタ構築入門
-
簡単にローカルKubernetes環境を構築できるツール「Minikube」
https://knowledge.sakura.ad.jp/15320/ -
Google発のコンテナアプリケーション開発支援ツール
「Skaffold」や「Kaniko」を使ってみる
https://knowledge.sakura.ad.jp/15321/ -
マイクロサービスアーキテクチャ向けにサービスメッシュを提供する
「Istio」の概要と環境構築、トラフィックルーティング設定
https://knowledge.sakura.ad.jp/20489/ -
Kubernetes環境に特化したCI/CDツール「Jenkins X」を試してみる
https://knowledge.sakura.ad.jp/23077/
カテゴリーの記事一覧 - Cybozu Inside Out
https://blog.cybozu.io/archive/category/Kubernetes
https://blog.cybozu.io/archive/category/Neco
-
K8s構築の学習用のコンテンツ
- 学習用に最適化
- 本番環境での使用を想定していない。
- コミュニティのサポートは限定的。
-
ポイント
- Ubuntu Server 18.04 の 3 Master、3 Workerノード構成
- 各k8sコンポーネントは公式のバイナリを使用し、Systemdサービスとして稼働。
- インストール
- 各ノード
「kubelet」や「flanneld」といったノード管理用コンポーネント - マスターノード
・etcdといった設定管理用のデータベース
・「apiserver」「controller-manager」「scheduler」といった管理用コンポーネント
- 各ノード
- GitHub - kelseyhightower/kubernetes-the-hard-way:
Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
https://github.com/kelseyhightower/kubernetes-the-hard-way
- GitHub - mmumshad/kubernetes-the-hard-way:
Bootstrap Kubernetes the hard way on Vagrant on Local Machine. No scripts.
https://github.com/mmumshad/kubernetes-the-hard-way/tree/master/docs
他にも色々、在るらしいが。
Kubernetesの該当節の構築に関する部分を抜粋したもの。
-
...(Kubernetesの該当節を参照)
-
[3]Kubernetesを試す
Minikube / Docker for Mac / Play with Kubernetes classroom
https://news.mynavi.jp/itsearch/article/devsoft/4252 -
...(Kubernetesの該当節を参照)
-
[11]k8s構築ツールの選択肢「Rancher」(Rancher Chartsの該当節を参照)
-
[12]k8s構築ツールの選択肢「Helm」(Helm Chartsの該当節を参照)
-
[13]k8s構築ツールの選択肢「Kubespray/kops」
https://news.mynavi.jp/itsearch/article/devsoft/4909 -
...(Kubernetesの該当節を参照)
-
[14]その他の学習用サービス - MicroK8s/k3s/Katacoda
https://news.mynavi.jp/itsearch/article/devsoft/4962
移行メモ
- 誤記を修正した。見出し「プロタクト」→「プロダクト」、 「クラスタて化」→「クラスタ化」、「Egdeコンピューティング」→「Edgeコンピューティング」、 「ワンコマンドでK8sが実行環境を作る」→「K8sの実行環境を作る」。
- 「マスタ」「ノード」への
#x3a054be/#w630aafbというページ内アンカは、 本ページに対応する見出しが無く元から解決できなかったため、 Kubernetes の該当節への参照に置き換えた。- 同名の見出し(「概要」「ツール」)が複数あり、 GitHub Wiki ではアンカが衝突するため、括弧で対象を補った。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの FgCF / Azure Well-Architected Framework - Security / Docker for Windows に張り替えた。
Tags: 移行, Kubernetes, K8s, 構築, kubeadm, Minikube, k3s, MicroK8s, Kubernetes The Hard Way
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。