「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Kubernetes]]
--Kubernetesの構築
--[[Kubernetesの運用]]
--[[Kubernetesの監視]]

*目次 [#zd508e96]
#contents

*概要 [#kb5cd095]
たまたまオンプレ構築の話があったので調査。

*タイプ [#x3a27d1b]
-以下のような、様々なタイプが在るので、コレは、~
もう、「マネージド・サービス」がイイよね(普通は)。

-実際、[[FgCF>https://techinfoofmicrosofttech.osscons.jp/index.php?FgCF%20%28Financial-grade%20Cloud%20Fundamentals%29]] の [[W-AF - Security>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Well-Architected%20Framework%20-%20Security]]では、~
「CaaSは Managed 型のサービスを使う。」と言われている。


**Single node [#f8ba21f4]
-全コンポーネントを 1 つのサーバで起動。
-テスト、学習、開発用。

**Single head node, multiple workers [#k35eeb25]
1つの[[マスタ>#x3a054be]]と複数の[[ノード>#w630aafb]]

**Multiple head nodes with HA, multiple workers [#jdd04eb8]
-HA 構成の複数の[[マスタ>#x3a054be]]と、複数の[[ノード>#w630aafb]]
-API サーバの入り口にはロードバランサがあり、
-スケジューラとコントローラマネージャはリーダーを選択します。
-なお、etcd はシングルノードのまま。

**HA etcd, HA head nodes, multiple workers [#r1b4da82]
-HA 構成の複数の[[マスタ>#x3a054be]]と、HA 構成の複数の[[ノード>#w630aafb]]
-HA 構成の [[etcd>Kubernetes#f3f1e957]] はマスタノードとは別のノードでクラスタて化。

*プロタクト [#h2c07a89]

**ツール [#w281ec48]

***kubeadm [#we7fe533]
[[Kubernetes The Hard Way>#lbcd59f4]]の手順と比べ、~
比較的容易にクラスタを構成するためのCLI

-Kubernetesが提供しているKubernetes公式の環境構築ツール
-最新バージョンの環境のインストールが可能
-対応するOSなどと幅広い
--Ubuntu 16.04以上
--Debian 9(Stretch)
--CentOS 7
--Red Hat Enterprise Linux 7
--Fedora 25/26

→ [[kubeadmでのインストール手順>#ya8fa130]]

***conjure-up [#oc8a619d]
-Ubuntuなどで推奨されている方法・ツール。
-インストール作業を自動で行う。

***Tectonic [#d1c9aa04]
-CoreOSが提供しているディストリビューション

***kubespray [#d96b7c9c]
-Ansibleベースの構築ツール

-高度な Ansible Playbook。旧名は kargo。

-AWSやGCPなどのクラウド環境や、~
ベアメタル(RHELなどのOS)に対応

-マルチノードクラスタを構築できる。

***[[Helm>Helm Charts]] [#fbdef74f]

***[[Rancher>Rancher Charts]] [#l5c4c3b5]

**学習用 [#a35004d0]

***[[Docker for Windows>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20for%20Windows]]/Mac [#w2a38c40]

***Minikube [#rfb3f886]
VirtualBox 上で実行されるために作られた、とてもシンプルなツール

***k3s、MicroK8s [#lb9a9f69]
[[Minikube>#rfb3f886]]のような仮想マシンを~
利用せずにK8sを動かすことができる。

-Rancher Labs社:k3s
--様々な機能が削られている。
--MasterとNodeで分散稼働する。
--EgdeコンピューティングやARMバイナリで動く
--IoTなどのスモールデバイス向き。

-Canonical社:MicroK8s
--ワンコマンドでK8sが実行環境を作ることができる。
--MasterとNodeという分散動作せず、冗長性はない。
--開発向けのシングルK8sを動かすことに特化。

***hyperkube [#sf9ea8b9]
K8s自体をdockerベースで起動する方法

**クラウド [#d561a0f6]

***Azure [#i18b7d44]
-AKS

***AWS [#pf3426fa]
-EKS
-kops:AWS用
--K8sクラスタ構築のCLI
--AWSのみ公式サポート
--GCEやOpenStackはベータ版
--インフラ構成管理ツールである~
Terraformの構成ファイルを生成できる。

-kube-aws:AWS用

***GCP [#p4706079]
-Google Kubernetes Engine(GKE)

**その他 [#h212bb73]

***kubicorn [#k74108e0]
[[kubeadm>#we7fe533]]ベース

***[[kubeadmでのインストール>Kubernetesのインストール]] [#ya8fa130]

*参考 [#t4efea87]

**Qiita [#gd21561e]

***わりとゴツいKubernetesハンズオン [#x019459c]
Docker for Desktop(MAC)とEKSによる手順。

-数時間で完全理解!わりとゴツいKubernetesハンズオン!!~
https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d

-今度はあんまりゴツくない!?~
「わりとゴツいKubernetesハンズオン」そのあとに~
https://qiita.com/Kta-M/items/83db480075caabcb0b7a

***初学者がKubernetesをはじめてみた [#hf0a1743]
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でおうちKubernetes構築 [#gc15436d]
[[Raspberry Pi]]([[Rasbian]])上で、[[kubeadm>#we7fe533]]を使用した手順。

-【物理編】~
https://qiita.com/go_vargo/items/d1271ab60f2bba375dcc
-【論理編】~
https://qiita.com/go_vargo/items/29f6d832ea0a289b4778

***一足遅れて Kubernetes を学び始める [#d62f0090]
環境選択で、GKE → Docker For Mac → [[Raspberry Pi]]([[Rasbian]])と変遷し、~
その後、[[Raspberry PiでおうちKubernetes構築>#gc15436d]]より深い所までの構築をしている。~
ただし、[[kubectl]]一本槍で、[[Helm Charts]]や[[Rancher Charts]]などは使用しない。

-01. 環境選択編~
https://qiita.com/silverbirder/items/34b823c1a4449d40e610

-02. Docker For Mac~
https://qiita.com/silverbirder/items/d1aa368568885df2e44f

-03. Raspberry Pi~
https://qiita.com/silverbirder/items/cfaaba136b74b3140902

-04. kubectl~
https://qiita.com/silverbirder/items/7ae773b6519b940b5be4

-workloads
--05. その1~
https://qiita.com/silverbirder/items/7041aa5d4126a6784d59
--06. その2~
https://qiita.com/silverbirder/items/d3522237b28703a9adb6
--07. その3~
https://qiita.com/silverbirder/items/937e1b5f6b3589452932

-discovery&LB
--08. その1~
https://qiita.com/silverbirder/items/3a46ab92b45cdcc56ccd
--09. その2~
https://qiita.com/silverbirder/items/f6290a7868849d57b9f1

-config&storage
--10. その1~
https://qiita.com/silverbirder/items/cb17f02f52c7b5c2aafd
--11. その2~
https://qiita.com/silverbirder/items/8d7a5473fa6969954e21

-12. リソース制限~
https://qiita.com/silverbirder/items/5c0703f8fa055ade9f21

-13. ヘルスチェックとコンテナライフサイクル~
https://qiita.com/silverbirder/items/8df21f399c453b9f8e51

-14. スケジューリング~
https://qiita.com/silverbirder/items/cae4649d9f9336bc01fd

-15. セキュリティ~
https://qiita.com/silverbirder/items/8ea729949ab3bb4cf540

-16. コンポーネント~
https://qiita.com/silverbirder/items/a68499a10dd00c192947

***Kubernetes The Hard Wayする [#k3ec5fa0]
[[Kubernetes the hard wayのORG(GCP)版>#h8933c14]]を参考にしているらしい。

-https://qiita.com/sotoiwa/items/2b22dc21d88c7822e44b

***Kubernetes the hard way を初学者目線で解説する [#b3ab783f]
[[Kubernetes the hard wayのVagrant版>#ib4d9f97]]を参考にしているらしい。

-#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

**さくらのナレッジ [#yce0a829]

***入門 [#mfc46000]
-管理入門
--kubernetesによるDockerコンテナ管理入門~
https://knowledge.sakura.ad.jp/3681/

--続・KubernetesによるDockerコンテナ管理入門~
https://knowledge.sakura.ad.jp/14380/

-構築入門
--2019年版・Kubernetesクラスタ構築入門~
https://knowledge.sakura.ad.jp/20955/

***ツール [#s8d78153]
-簡単にローカル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/

**サイボウズエンジニアのブログ [#t9b2b646]
カテゴリーの記事一覧 - Cybozu Inside Out

***Kubernetes [#u298dd8e]
https://blog.cybozu.io/archive/category/Kubernetes

***Neco [#c261e67c]
https://blog.cybozu.io/archive/category/Neco

**Kubernetes The Hard Way  [#lbcd59f4]

***概要 [#y99f9513]
-K8s構築の学習用のコンテンツ
--学習用に最適化
--本番環境での使用を想定していない。
--コミュニティのサポートは限定的。

-ポイント
--Ubuntu Server 18.04 の 3 Master、3 Workerノード構成
--各k8sコンポーネントは公式のバイナリを使用し、Systemdサービスとして稼働。
--インストール
---各ノード~
「kubelet」や「flanneld」といったノード管理用コンポーネント
---マスターノード~
・etcdといった設定管理用のデータベース~
・「apiserver」「controller-manager」「scheduler」といった管理用コンポーネント

***GCP版 [#h8933c14]
-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

***VirtualBox版 [#ib4d9f97]
-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

***...版 [#paf592b6]
他にも色々、在るらしいが。

**IT Search+ [#i3250356]
[[コチラ>Kubernetes#j81f922c]]の構築に関する部分を抜粋したもの。

-[[...>Kubernetes#j81f922c]]

-[3]Kubernetesを試す~
Minikube / Docker for Mac / Play with Kubernetes classroom~
https://news.mynavi.jp/itsearch/article/devsoft/4252

-[[...>Kubernetes#j81f922c]]

-[[[11]k8s構築ツールの選択肢「Rancher」>Rancher Charts#b95b4804]]

-[[[12]k8s構築ツールの選択肢「Helm」>Helm Charts#c205a2fc]]

-[13]k8s構築ツールの選択肢「Kubespray/kops」~
https://news.mynavi.jp/itsearch/article/devsoft/4909

-[[...>Kubernetes#j81f922c]]

-[14]その他の学習用サービス - MicroK8s/k3s/Katacoda~
https://news.mynavi.jp/itsearch/article/devsoft/4962

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS