こんにちは。京都は紅葉しつつあります。
まず、前回建てるのに成功した flannel に、サンプルの Service を立てて詳しく見てみました。flannel は VXLAN を使ってノード間の通信を行っています。
flannel の詳細は多くの記事が存在するので割愛します。
flannel を見終わった後は kubernetes のダッシュボードを立ててみました。インストールはドキュメントに従って行います。
kubectl apply -f
をしただけでは、閲覧するための権限があるユーザーが作成されていません。 GitHub上のドキュメント に書いてある通りに service account を追加して、トークンを入力してログインします。
をadmin-user
kubernetes-dashboard
namespace に追加する
という ClusterRole を付加するcluster-admin
# https://github.com/kubernetes/dashboard/blob/9da51fc/docs/user/access-control/creating-sample-user.md
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
cluster-admin は何でもできる最強の Role です。実際に運用する時は権限を弱めることになりそうです。
$ kubectl describe clusterroles/cluster-admin
Name: cluster-admin
Labels: kubernetes.io/bootstrapping=rbac-defaults
Annotations: rbac.authorization.kubernetes.io/autoupdate: true
PolicyRule:
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
*.* [] [] [*]
[*] [] [*]
ちなみに、何もできないアカウント (default 等) で入ると何も見れませんでした。
ダッシュボードは素晴らしい出来でした。分かりやすい UI で様々な情報を表示できる他、各リソースの編集や作成もできます。Kubernetes の運用の大きな助けになりそうです。