kubernetes 1.9 dashboardのインストール、token認証の問題

1936 ワード

前に書く
dashboardのインストールはとても簡単です.ただし、公式サイトで提案された方法でインストールが完了した後、tokenを入力してログインすると反応しません.この問題は一日中困っていたが、結局ここで答えを見つけた.理由は、dashboardを公式ドキュメントで推奨される方法でインストールした後、kubectl proxyエージェントを使用してwebUIにアクセスするためです.このエージェントを使用してアクセスすると、ログインに応答しないという問題が発生します.dashboardのサービスタイプをNodePortに変更し、ポートを仮想マシンにマッピングし、仮想マシンのipアドレスで直接ログインする必要があります.
dashboardのインストール
まず公式サイトで提供されているdashboard.yamlをダウンロードします.
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

yamlを変更し、NodePortを追加します.
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  #   Service type NodePort
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      #            ,k8s   30000     
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

dashboardのインストール
kubectl create -f kubernetes-dashboard.yaml

tokenの取得
簡単なコマンドがあります.
kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token

手動で問い合わせることもできます.
#         kube-system        secret
kubectl get secret -n kube-system

#     token。   type service-account-token secret token     。
#       replicaset-controller-token-wsv4v touken
kubectl -n kube-system describe replicaset-controller-token-wsv4v

dashboardへのアクセス
Nodeノードのipに、先ほど設定したnodePortを加えるとアクセスできます.
https://:

認証には2つの方法があります.
  • 私たちが取得したばかりのtoken直接認証
  • を通過しました.
  • Kubeconfigファイル認証にはkubeadmで生成されたadmin.confファイルの末尾に取得したばかりのtokenを付けるだけでよい.
    - name: kubernetes-admin
      user:
        client-certificate-data: xxxxxxxx
        client-key-data: xxxxxx
        token: "     token"