我在Ubuntu 18.04 LTS VM,3核,60 GB存储,12 GB内存中使用microk8。我按照microk8s网站here的说明进行了安装。

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

这花了一些时间,但一切都开始了。我有110个 pod 正在运行。当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仪表板,并能够使用我的 token 登录,但是它说找不到任何资源。它在 namespace ,节点或任何内容中均不显示任何内容。

kubernetes - microk8s损坏的K8s仪表板和Kubeflow仪表板-LMLPHP

命名空间仍处于默认状态,因为我无法显示kubeflow。该文档说kubeflow不适用于kubernetes 1.18,但是如果您安装了较早版本的microk8s,它不会为您提供启用kubeflow的选项。这也不能解释为什么仪表板无法正常工作。我真的不知道该检查什么来解决此问题。我尝试使用内部IP地址作为kubeflow大使(kubeflow负载平衡器),但这似乎也不起作用。

这是有关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"

最佳答案

我在Ubuntu 18.04.3 LTS上 native 运行MicroK8s 1.18.2 + Kubeflow(不在VM环境中),并且遇到了相同的问题。幸运的是,我能够解决问题,并希望与您分享我的解决方案。原来,我的笔记本电脑无法解析仪表板的URL(10.64.140.43.xip.io),因此我将此地址添加到了主机文件中。

我的安装例程:

> # Install MicroK8s
> $ sudo snap install microk8s --classic --channel=1.18/stable

> # Set IP forwarding
> $ sudo apt-get update -qq
> $ sudo apt-get install -qq -y iptables-persistent
> $ sudo iptables -P FORWARD ACCEPT

> # Add xip.io adress to hosts
> $ sudo -- sh -c "echo '10.64.140.43\t10.64.140.43.xip.io' >>
> /etc/hosts"

> # Check if MicroK8s is Running
> $ microk8s status --wait-ready | grep microk8s
> $ microk8s kubectl get nodes
> $ microk8s kubectl get services

> # Set kubectl alias for MicroK8s
> $ sudo snap alias microk8s.kubectl kubectl

> # Activate MicroK8s Add-ons (DNS, Storage, K8s-Dashboard)
> $ microk8s.enable dns storage dashboard

> # (OPTIONAL) Activate GPU Devices for Nvidia GPUs
> $ microk8s.enable gpu

> # Activate Kubeflow
> $ microk8s.enable kubeflow

> # Check if MicroK8s Add-ons are Running
> $ microk8s status --wait-ready

根据您的硬件和Internet连接,可能需要一些时间才能准备好所有服务。如果所有服务都已启动,只需在浏览器中打开http://10.64.140.43.xip.io并输入用户(admin)和您生成的密码即可。

我希望这也对您有用。 :)

关于kubernetes - microk8s损坏的K8s仪表板和Kubeflow仪表板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60973804/

10-11 08:00