web-dev-qa-db-ja.com

microk8s Broken K8s DashboardおよびKubeflow Dashboard

Ubuntu 18.04 LTS VM、3コア、60 GBストレージ、12 GBのメモリでmicrok8sを使用しています。 microk8sのウェブサイト here の指示に従ってインストールしました。

$ snap install microk8s --classic --channel=1.18/stable
$ Sudo microk8s start
$ Sudo microk8s enable dns storage dashboard
$ Sudo microk8s enable kubeflow

これには少し時間がかかりましたが、すべてが始まりました。 110個のポッドを実行しています。 Kubeflowのインストールが完了すると、

Operator pods ready.
Waiting for service pods to become ready.

Congratulations, Kubeflow is now available.
The dashboard is available at http://10.64.140.43.xip.io/

    Username: admin
    Password: VIVGI9KB7GEX6JNAQJXZTXD97S42XD

うまくいきませんでした。そのURLをブラウザーに入力すると、白い画面が表示されます。次に、kubernetesダッシュボードにアクセスしようとしたところ、トークンでログインできましたが、リソースが見つからないと表示されています。名前空間、ノード、その他には何も表示されません。

enter image description here

名前空間はkubeflowを表示できないため、デフォルトのままです。ドキュメントには、kubeflowがkubernetes 1.18では機能しないと記載されていますが、microk8sの古いバージョンをインストールした場合、kubeflowを有効にするオプションは提供されません。ダッシュボードが機能しない理由も説明されていません。この問題を解決するために何をチェックすればよいのか本当にわかりません。 kubeflowアンバサダー(kubeflowロードバランサー)の内部IPアドレスを使用してみましたが、それも機能しないようです。

ambassadorサービスの詳細はこちら

Sudo microk8s kubectl -n kubeflow describe service/ambassador
Name:                     ambassador
Namespace:                kubeflow
Labels:                   juju-app=ambassador
Annotations:              juju.io/controller: 7fe60455-b041-4b5e-8c85-0c8155b0f52d
                          juju.io/model: f635bf6f-c598-4d5c-841b-e798f520a898
                          metallb.universe.tf/address-pool: default
Selector:                 juju-app=ambassador
Type:                     LoadBalancer
IP:                       10.152.183.67
LoadBalancer Ingress:     10.64.140.43
Port:                     ambassador  80/TCP
TargetPort:               80/TCP
NodePort:                 ambassador  30085/TCP
Endpoints:                10.1.40.17:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason        Age                 From                Message
  ----    ------        ----                ----                -------
  Normal  IPAllocated   58m                 metallb-controller  Assigned IP "10.64.140.43"
  Normal  nodeAssigned  2m5s (x5 over 56m)  metallb-speaker     announcing from node "tatooine"
5
lwileczek

だから私は同じ問題を抱えており、それに少し時間をかけましたが、そこにあるコードのおかげでそれを行う方法を見つけました https://github.com/ubuntu/microk8s/blob/master/microk8s-resources/actions/enable .kubeflow.sh

後に enable kubeflow、kubeflowダッシュボードは http://10.64.140.43.xip.io/ で入手できますが、これはプライベートIPであり、VMのローカルネットワークの外部には到達できません。一部のURLは絶対的なもの(ドメイン名を含む)であるため、プロキシ(これは試してみました)では修正できません。

VMは外部からパブリックIP A.B.C.Dで到達可能であるとします。kubeflowホスト名をA.B.C.D.xip.ioに変更する必要があります。

したがって、基本的にはいくつかのjujuアプリでホスト名を変更する必要があります:

Sudo microk8s juju config dex-auth public-url=http://A.B.C.D.xip.io
Sudo microk8s juju config oidc-gatekeeper public-url=http://A.B.C.D.xip.io
Sudo microk8s juju config ambassador juju-external-hostname=A.B.C.D.xip.io

これが役に立てば幸い

0
Pixou