5

使用 Ubuntu 18.04。

我正在尝试使用本指南(LXD + conjure-up kubernetes)在我的本地机器(localhost)上安装一个 kubernetes 集群:

https://kubernetes.io/docs/getting-started-guides/ubuntu/local/#before-you-begin

当我运行时:

conjure-up kubernetes

我选择以下安装:

在此处输入图像描述

并选择localhost“选择云”并为安装向导的其余部分使用默认值。然后它开始安装并在 30-40 分钟后完成并出现以下错误:

在此处输入图像描述

这是日志: https ://pastebin.com/raw/re1UvrUU

一个错误说:

2018-07-25 20:09:38,125 [ERROR] conjure-up/canonical-kubernetes - events.py:161 - Unhandled exception in <Task finished coro=<BaseBootstrapController.run() done, defined at /snap/conjure-up/1015/lib/python3.6/site-packages/conjureup/controllers/juju/bootstrap/common.py:15> exception=BootstrapError('Unable to bootstrap (cloud type: localhost)',)>

但这并没有太大帮助。

关于为什么安装向导/召唤失败的任何建议?

同样基于这篇文章:

https://github.com/conjure-up/conjure-up/issues/1308

我尝试先禁用防火墙:

sudo ufw disable

然后重新运行安装/conjure 安装向导。但我得到同样的错误。

关于我如何安装和配置 LXD/conjure-up 的更多详细信息如下:

$ snap install lxd
lxd 3.2 from 'canonical' installed
$ /snap/bin/lxd init
Would you like to use LXD clustering? (yes/no) [default=no]: 
Do you want to configure a new storage pool? (yes/no) [default=yes]: 
Name of the new storage pool [default=default]: 
Name of the storage backend to use (btrfs, ceph, dir, lvm) [default=btrfs]: 
Create a new BTRFS pool? (yes/no) [default=yes]: 
Would you like to use an existing block device? (yes/no) [default=no]: 
Size in GB of the new loop device (1GB minimum) [default=26GB]: 
Would you like to connect to a MAAS server? (yes/no) [default=no]: 
Would you like to create a new local network bridge? (yes/no) [default=yes]: 
What should the new bridge be called? [default=lxdbr0]: 
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
Would you like LXD to be available over the network? (yes/no) [default=no]: 
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] 
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: 

配置的组成员身份:

sudo usermod -a -G lxd $USER
newgrp lxd

接下来安装:

sudo snap install conjure-up --classic

然后运行安装:

conjure-up kubernetes
4

1 回答 1

3

我无法重现您的确切问题,但我安装了conjure-up+ lxd,最后在我新安装的 VirtualBox Ubuntu 18.04(桌面)VM 上安装了 Kubernetes。希望这个答案能以某种方式帮助你!

我查看了 kubernetes.io 文档页面,发现其中缺少一点点信息,它确实提到lxd了但没有提到lxd init我假设您在conjure-up 用户手册中找到的部分。

话虽如此,我还是按照conjure-up用户手册进行了一些小改动。我假设您可以使用边缘版本conjure-up,我从稳定版本开始,但在测试不同组合时改为边缘版本。

另外请确保您拥有用户手册中推荐的可用资源,conjure-up并且Kubernetes 的规范发行版为您启动了许多容器。您可能不需要 3 个etcd、3 个工作节点和 2 个Master,如果您不只是在conjure-up向导中调低容器的数量。

这些是我执行的步骤(作为我的本地用户):

  1. 确保您的 Ubuntu 机器已更新:sudo apt update && sudo apt upgrade
  2. conjure-up通过运行安装:sudo snap install conjure-up --classic --edge
  3. lxd通过运行安装:sudo snap install lxd
  4. lxd客户端部分也随之而来,lxc如果你运行例如lxc list你应该得到一个空表(还没有容器启动)。此时我遇到了权限错误,我运行了以下命令:sudo chown -R lxd:lxd /var/snap/lxd/更改lxd包含您将与之通信的套接字的目录的所有者和组,使用lxc.
  5. 将您的用户添加到lxdgroup: sudo usermod -a -G lxd $USER && newgrp lxd,注销并重新登录以使其永久化,而不仅仅是在您当前的 shell 中处于活动状态。
  6. lxd现在使用以下命令手动创建网桥:lxc network create lxdbr1 ipv4.address=auto ipv4.nat=true ipv6.address=none ipv6.nat=false
  7. lxd现在让我们运行with的 init 部分lxd initno当被要求创建一个新的本地网桥时,记得回答吗?, 在下一个提示中提供您新创建的网桥 ( lxdbr1)。其余问题的答案可以保留为默认值。
  8. 现在继续运行conjure-up kubernetes并选择localhost您的类型。对我来说,这个localhost选择从一开始就是灰色的,当我手动创建网桥而不是通过lxd init步骤时,它就起作用了。
  9. 跳过您可以安装的其他组件,例如 Rancher、Prometheus 等。
  10. 选择您的新网桥和默认存储池,继续下一步。
  11. 在下一步中,根据需要自定义 Kubernetes 集群,然后点击 Deploy。现在你等着!

您始终可以排除故障并列出使用该lxc工具创建的所有容器。如果您曾经使用过 Docker,那么该lxc工具感觉很像docker客户端。

最后是一些想法和观察,正如你可能已经看到的那样,有很多活动的部分。conjure-up它实际上被描述为:conjure-up 是一个跨越几个不同底层技术的薄层——Juju、MAAS 和 LXD。

作为参考,我最终安装了以下版本:

  • lxd3.3版
  • conjure-up2.6.1 版
于 2018-07-31T21:24:06.007 回答