Kubernetes WebUI調査

# Kubernetes Dashboard

v2.5.1 (2022/05/03)
v2.5.0からKubernetes 1.23対応
v2.3.0からKubernetes 1.21対応
v2.1.0からKubernetes 1.20対応
v2.0.4からKubernetes 1.19対応
v2.0.0からKubernetes 1.18対応
v2.0.0-rc4からKubernetes 1.17対応

Apache License 2.0
[GitHub](https://github.com/kubernetes/dashboard)
[Kubernetes Dashboard Documentation](https://github.com/kubernetes/dashboard/tree/master/docs)


| Version       |1.20|1.21|1.22|1.23|
|:--------------|:--:|:--:|:--:|:--:|
| v2.5.1  |?|?|?|✓|
| v2.5.0  |?|?|?|✓|
| v2.4.0  |✓|✓|?|?|
| v2.3.1  |✓|✓|?|?|
| v2.3.0  |✓|✓|?|?|
| v2.2.0  |✓|?|?|?|
| v2.1.0  |✓|?|?|?|


**調査中Recommended setup (v2.0.0-beta5)**
https://github.com/kubernetes/dashboard/blob/master/docs/user/installation.md
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
https://github.com/kubernetes/dashboard/blob/master/docs/user/accessing-dashboard/1.7.x-and-above.md

```
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml

# type: ClusterIP を type: NodePortに変更して保存
$ kubectl -n kubernetes-dashboard edit service kubernetes-dashboard
```
```
$ vi dashboard-adminuser.yaml
```

```dashboard-adminuser.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
```

```
$ kubectl apply -f dashboard-adminuser.yaml

#トークン取得
$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') | grep token: | awk '{print $2}'

# Node Portを確認
$ kubectl -n kubernetes-dashboard get service kubernetes-dashboard
```

ブラウザを起動して以下のアドレスにアクセス
https://マスターノードのIPアドレスまたはホスト名:確認したNodePort/

トークンを選択し、コピーしたトークンを貼り付けて「SIGN IN」をクリック

**PodのCPU利用率やメモリ利用率を見たい場合、をデプロイする必要がある**

```
mkdir metrics-server
cd metrics-server
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/aggregated-metrics-reader.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/auth-delegator.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/auth-reader.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/metrics-apiservice.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/metrics-server-deployment.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/metrics-server-service.yaml
wget https://raw.githubusercontent.com/kubernetes-incubator/metrics-server/v0.3.6/deploy/1.8%2B/resource-reader.yaml
```

metrics-server-deployment.yamlに以下のコードを追加

```
command:
  - /metrics-server
  - --kubelet-insecure-tls
  - --kubelet-preferred-address-types=InternalDNS,InternalIP,ExternalDNS,ExternalIP,Hostname
```

デプロイ

```
kubectl apply -f metrics-server/
```

[Kubernetes Dashboard v2.0.0をデプロイする](https://qiita.com/esaka/items/19dbd4a0014dcbd1c130)
[Kubernetes dashboard Deploy](https://qiita.com/Tsu_hao_Zhang/items/33ea04e2e1c94255866e)
[Dashboard for Kubernetes のデプロイ](https://qiita.com/khk-h/items/84cae1b9c5eedd580014)
[Kuberenetes Dashboard Upgradeとtoken pasteをスキップする方法](https://qiita.com/apac/items/99ca1c337974f0751693)
[KubernetesにDashboardをインストールして、認証なしでアクセスする](https://qiita.com/sheepland/items/0ee17b80fcfb10227a41)
[KUBERNETESのダッシュボードを外部からアクセスする](https://sky-joker.tech/2019/04/21/kubernetes%E3%81%AE%E3%82%BF%E3%82%99%E3%83%83%E3%82%B7%E3%83%A5%E3%83%9B%E3%82%99%E3%83%BC%E3%83%88%E3%82%99%E3%82%92%E5%A4%96%E9%83%A8%E3%81%8B%E3%82%89%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99/)
[Kubernetes のダッシュボードが見れなかったときの対処](https://tutuz-tech.hatenablog.com/entry/2019/03/02/225330)
[備忘録：kubernetes-dashboardを表示するまでのトラブルシューティング](https://qiita.com/yoppe/items/1596703e7cf5a279c64e)
[Kubernetes 1.8のアクセス制御について。あとDashboard。](https://www.kaitoy.xyz/2017/10/31/retry-dashboard-on-k8s-cluster-by-kubeadm/)
[Kubernetes Dashboardにcluster-admin権限でSign inする](https://qiita.com/h-sakano/items/79bb15f7a0661e141c75)

## Rancher

Apache License 2.0
v2.6.5 (2022/05/13)

・オンプレミスやあらゆるクラウドサービス上にKubernetesクラスタを
　構築及び管理、また既存のKubernetesクラスタをインポートして
　Rancherで管理できる
・Helmをベースとしたカタログという機能
・他のOSSとの連携が可能

[RancherによるKubernetes活用完全ガイド（Think IT Books）](https://book.impress.co.jp/books/1119101048)

[公式サイト](https://rancher.com/)
[GitHub](https://github.com/rancher/rancher)
[Rancher 1.x image](https://hub.docker.com/r/rancher/server)
[Rancher 2.x image](https://hub.docker.com/r/rancher/rancher)
[RANCHER JP](https://www.rancher.jp/)

[Rancherってどんなもの？](https://thinkit.co.jp/article/15816)
[RancherでKubernetesクラスタを作る](https://thinkit.co.jp/article/15876)
[RancherのCatalog機能を詳細に見てみる](https://thinkit.co.jp/article/15922)

[Rancher v2.3の主要機能を触ってみた](https://qiita.com/cheng_rancher/items/f9f783debffe1247893e)

[Rancher v2.2.2のHA構成をAWS上で構築する](https://qiita.com/FY0323/items/6e8eb8c1c6d5d755c0fc)

[Rancher2.1でKubernetes環境を構築する](https://dev.classmethod.jp/etc/rancher2-0-kubernetes-setup/)

[話題のKubernetesをRancher2.0で 便利に使う！](https://www.slideshare.net/cyberblackvoom/kubernetesrancher20-98688209)
[Rancher2.0を使って超高速にkubernetesクラスタを構築した時のメモ](https://qiita.com/3364git/items/287fdf3685cebb4a7ce8)
[シングルノードにkubernetesとRancher 2.0を導入して、コンテナ管理してみた](https://qiita.com/o_sol06/items/836cddf0e77c835866b9)
[Rancher 2.0で複数のKubernetes環境を管理してみる](http://bbrfkr.hatenablog.jp/entry/2018/05/27/154407)
[Rancher 2.0 入門!!! Kubernetesクラスタの可視化!!!](https://recruit.gmo.jp/engineer/jisedai/blog/rancher2/)
[複数の物理ホストの Debian9 上に Kubernetes (k8s) クラスタを Rancher で立ち上げる](https://www.qoosky.io/techs/1cc644b7b0)

# Cockpit

ライセンスは、GNU Lesser General Public License v2.1
269 (2022/05/13)

コンテナの管理やネットワーク、ストレージの管理、性能監視、ログ監視などができる
コンテナのコンソール接続もできる

[公式サイト](https://cockpit-project.org/)
[GitHub](https://github.com/cockpit-project/cockpit)
[第480回　ウェブブラウザーから操作できる軽量管理ツール「Cockpit」](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0480)
[Docker管理UIのCockpitが面白い](https://ytooyama.hatenadiary.jp/entry/20150804/1438615049)
[Cockpit (Linux サーバ管理ツール) で Docker コンテナを起動する方法を検証してみた](https://tech-lab.sios.jp/archives/18075)
[Cockpit (Linux サーバ管理ツール) で Kubernetes クラスタを管理する方法を検証してみた](https://tech-lab.sios.jp/archives/18293)

# Weave Scope

1.13.2(2021/04/09)
Apache License Version 2.0
Docker & Kubernetesに対応している

・Web上でコンテナの管理ができる
・コンテナのネットワークの繋がりが見える
・コンテナを直接操作できる

```
git clone https://github.com/weaveworks/scope.git
cd scope
cd examples

# k8s 1.16でエラーになったので
# 「apiVersion: extensions/v1beta1」を「apiVersion: policy/v1beta1」に変更
vi k8s/psp.yaml

#「type: NodePort」を追加
#「nodePort: 30002」を追加
vi k8s/svc.yaml

# デプロイ
kubectl apply -f k8s/ns.yaml
kubectl apply -f k8s/
```

ブラウザを起動して http://マスターノードのIPアドレス:30002/ にアクセス

[GitHub](https://github.com/weaveworks/scope)
[【IBM Cloud k8s検証メモ】OSSのコンテナ監視ツール Weave Scope を利用してKubernetesリソース監視](https://qiita.com/MahoTakara/items/d1932b25498d4be3b3b2)

# Kubernetes Web View

21.2.0 (2021/02/05)
GPL-3.0
[GitHub](https://codeberg.org/hjacobs/kube-web-view/)
[ドキュメント](https://kube-web-view.readthedocs.io/en/latest/)
[ライブデモサイト](https://kube-web-view.demo.j-serv.de/clusters/local)

# K8Dash - Kubernetes Dashboard

Apache License 2.0
[GitHub](https://github.com/herbrandson/k8dash)

# Kubernetes Operational View

20.4.0 (2020/04/26)
GPL-3.0
[codeberg](https://codeberg.org/hjacobs/kube-ops-view)

[Kubernetesクラスタの簡単なモニタリングツールkube-ops-viewを使ってみる](https://www.1915keke.com/entry/2018/07/20/202439)

# Kubernetes Resource Report

21.6.0 (2021/06/23)
GPL-3.0
[codeberg](https://codeberg.org/hjacobs/kube-resource-report)

# OCTANT

v0.24.0 (2021/09/10)
Apache License 2.0
[GitHub](https://github.com/vmware/octant)

[Octantを使って簡単!Kubernetesダッシュボード](https://qiita.com/Tommy_/items/f08ab3ccd5b6733dd1b4)

## konstellate 

MIT License

[GitHub](https://github.com/containership/konstellate)
[konstellate - Kubernetesの設定をビジュアル化](https://www.moongift.jp/2019/06/konstellate-kubernetes%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E5%8C%96/)

## Kubricks 

MIT License

[GitHub](https://github.com/kubricksllc/Kubricks)

## [Web Kubectl](https://github.com/KubeOperator/webkubectl)

ライセンスは、Apache License 2.0
v2.10.5 (2022/04/13)

ブラウザ上でkubectlを叩けるツール

## [sighupio/permission-manager](https://github.com/sighupio/permission-manager)

ライセンスは、BSD 3-Clause "New" or "Revised" License
v1.7.1-rc1 (2021/09/14)

Kubernetes RBAC and Users management Web UI