Rancher2.0のカタログを確認するとKubernetesのダッシュボードがある事を確認出来ました。
コマンドから入れても良いのですが、とりあえず使ってみようと思います。
Rancher2.0のインストールを行なっていない方はこちらを参考にしてください。
カタログの確認
まずはカタログの確認方法から行います。
ヘッダーメニューにあるAppsをクリックします。
下記の画面が表示されます。
そして起動を押すとカタログ画面が表示されます。
色々あるのですが、中盤辺りにKubernetesのダッシュボードがあります。
Kubernetesのダッシュボードを起動してみる
上記画像の詳細を押すと下記の画面が表示される。
色々の詳細情報や設定方法が記載されている。
まずは、下記にある名称とテンプレートバージョン及びプロジェクトの設定を行います。
選択できるテンプレートバージョン
- 0.8.0
- 1.2.0
選択できるプロジェクト
- Default
- System
プロジェクトの作成
既存のプロジェクトを汚したくないので新規でプロジェクトを作成してみる。
docker-for-macのクラスターを選択すると、ヘッダーメニューにプロジェクトを選択できるようになります。
ちなみにdocker-for-macはクラスター登録を行う際にdocker-for-macと名称にしただけなので、名前についてはテキトーです。
プロジェクト/名前空間のメニューを押すと下記の画面が表示されます。
そしてプロジェクトを追加をクリックして作成します。
細かい設定は省略させて頂きます。
今回はsampleとして作成します。
作成を押すとプロジェクトが作成されます。
下記の画像を確認するとsampleが作成されたのがわかります。
ダッシュボードの設定オプションに戻ってプロジェクトの選択でsampleを設定します。
そのあとはアップデートの方法や権限がプロジェクトやクラスター、範囲設定なのでそのままにします。
ダッシュボードに入る為にログインが必要かどうかの設定など書かれていますが、今回はローカル環境で実行するのでログイン項目はスキップします。
起動ボタンをクリックするとカタログを登録するときの一番最初の画面にアプリが表示されました。
確認
とりあえず押してみるとエラーが表示されました。
エラー内容
Failed to install app sample-dashboard-p-gqfn5. 
Error: UPGRADE FAILED: Upgrade --force successfully deleted the previous release, 
but encountered 2 error(s) and cannot continue: rolebindings.rbac.authorization.k8s.io "sample-dashboard-p-gqfn5-kubernetes-dashboard" is forbidden: User "u-v3wonslm42" cannot delete rolebindings.rbac.authorization.k8s.io in the namespace "sample-dashboard-p-gqfn5";
 roles.rbac.authorization.k8s.io "sample-dashboard-p-gqfn5-kubernetes-dashboard" is forbidden: User "u-v3wonslm42" cannot delete roles.rbac.authorization.k8s.io in the namespace "sample-dashboard-p-gqfn5"エラー内容から察するにインストールに失敗したみたい。しかも名前空間とか登録したけど削除も出来ないみたい。
先ほど作ったkubernetesダッシュボードを削除します。
ダッシュボードだけではダメなので、名前空間も削除します。
名前空間の削除
名前空間も消えたか確認してみたけど、やっぱ消えてないので手動で削除します。
まずはコンソール画面から確認します。
$kubectl get namespaces
NAME                       STATUS        AGE
cattle-system              Active        5h
default                    Active        5d
docker                     Active        5d
kube-public                Active        5d
kube-system                Active        5d
sample-dashboard-p-gqfn5   Terminating   18m次に消します。
$ kubectl delete namespace sample-dashboard-p-gqfn5 Error from server (NotFound): namespaces "sample-dashboard-p-gqfn5" not foundあれ?エラー出たって言うか無いって出た。タイムラグで消えたのか。
とりあえず、名前空間が削除できたのは確認できたがエラーの内容が謎?
権限が無い見たいな事書かれてるけど、わからん。
再度作成手順
とりあえず、色々試してみたら作り方が間違ってたみたい。
グローバルから作成していたが、作成したプロジェクトを選択して作成したらいけた。
まずは作成したプロジェクトのヘッダーメニューのカタログアプリを選択する。
選択したら作り方は最初とやり方は同じです。
作成できると下記のように表示されます。
index.htmlを押すとKubernetesのダッシュボードのログイン画面が表示されます。
ログインしてみる
ダッシュボードが起動しているのが確認できました。
しかしどうやって入るの?と思い、色々調べてみるとyamlを作成しないといけないみたいです。
ダッシュボード用のアカウントを作成して対応する為、yamlファイルを作成します。
service-account.yamlというファイル名で作成します。
apiVersion: v1 
kind: ServiceAccount 
metadata: 
  name: admin-user 
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1 
kind: ClusterRoleBinding 
metadata: 
  name: admin-user 
  roleRef: 
    apiGroup: rbac.authorization.k8s.io 
    kind: ClusterRole 
    name: cluster-admin 
  subjects:
   - kind: ServiceAccount 
     name: admin-user 
     namespace: kube-system次にアカウントの作成を行います。
$kubectl apply -f service-account.yaml 
serviceaccount "admin-user" created
clusterrolebinding.rbac.authorization.k8s.io "admin-user" createdアカウントの作成は完了しました。
下記のコマンドで作成したtokenの名称を確認します。
$ kubectl -n kube-system get secretyamlで作成したnameでadmin-userにしています。
admin-user-token-XXXXXみたいな名称で出ているのでその名称を使ってtokenの内容を出します。
$ kubectl -n kube-system describe secret admin-user-token-XXXXXするとtokenが表示されるので、そのtokenをコピペで先ほどのログインのtokenで入ってみる。
確認は完了になります。
まとめ
グローバルから作る方法とプロジェクトから作る方法で違いがあるみたいです。
Kubernetesを利用した場合、ダッシュボードを設定するのにコマンドを利用しますが、ranchar2.0を利用するとコマンドいらずにUIだけで設定できます。
今回は色々失敗をして、コマンドで確認したりしましたが使い勝手は良さそうですね。
 
	 
		
	














