Kubernetes 日記 2019/11/14

こんにちは。京都は紅葉しつつあります。

まず、前回建てるのに成功した flannel に、サンプルの Service を立てて詳しく見てみました。flannel は VXLAN を使ってノード間の通信を行っています。

flannel の詳細は多くの記事が存在するので割愛します。

flannel を見終わった後は kubernetes のダッシュボードを立ててみました。インストールはドキュメントに従って行います。

kubectl apply -f をしただけでは、閲覧するための権限があるユーザーが作成されていません。 GitHub上のドキュメント に書いてある通りに service account を追加して、トークンを入力してログインします。

  • admin-userkubernetes-dashboard namespace に追加する
  • cluster-admin という ClusterRole を付加する
# 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 の運用の大きな助けになりそうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です