繁体   English   中英

无法引导(云类型:localhost) - 使用LXD / Conjure-up在本地安装Kuberneters群集时出错

[英]Unable to bootstrap (cloud type: localhost) - Error when installing Kuberneters cluster locally with LXD/Conjure-up

使用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

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

有关如何安装和配置LXD /召唤的更多详细信息如下:

$ 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

我无法重现你的确切问题,但我安装了conjure-up + lxd ,最后我在新安装的VirtualBox Ubuntu 18.04(桌面)虚拟机上使用了Kubernetes。 希望这个答案可以帮助你!

我查看了kubernetes.io文档页面并且缺少一些信息,它确实提到了lxd但不是lxd init的部分,我假设你在lxd init 用户手册中提到了它。

所以说,我跟着conjure-up用户手册,在路上做了一些小改动。 我假设您可以使用边缘版本的conjure-up ,我开始使用稳定的版本,但在测试不同的组合时改为边缘。

还请确保您有由规定的可用资源推荐用户手册conjure-upKubernetes的Canoncial分布推出了一些适合你的容器。 您可能不需要3 x etc ,3 x worker节点和2 x Master ,如果你不只是在conjure-up向导中调低容器数量。

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

  1. 确保你的Ubuntu盒子更新: sudo apt update && sudo apt upgrade
  2. 安装conjure-up运行: sudo snap install conjure-up --classic --edge
  3. 通过运行安装lxdsudo snap install lxd
  4. 使用lxd来客户端部分是lxc ,如果你运行例如lxc list你应该得到一个空表(还没有容器启动)。 我此时收到权限错误,我运行以下sudo chown -R lxd:lxd /var/snap/lxd/sudo chown -R lxd:lxd /var/snap/lxd/更改包含您将使用lxc进行通信的套接字的lxd目录的所有者和组。
  5. 将您的用户添加到lxd组: 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 init运行lxd的init部分。 在被要求创建新的本地网桥时,请记得回答no ,在下一个提示符中提供新创建的网桥( lxdbr1 )。 问题的其余答案可以保留为默认值。
  8. 现在继续运行conjure-up kubernetes并选择localhost作为你的类型。 对我来说, localhost选择从一开始就是灰色的,当我手动创建网桥而不是通过lxd init步骤时,它可以工作。
  9. 跳过可以安装的其他组件,如Rancher,Prometheus等。
  10. 选择新的网桥和默认存储池,继续执行下一步。
  11. 在下一步中,根据需要自定义Kubernetes集群,然后单击Deploy。 现在你等了!

您始终可以对使用lxc工具创建的所有容器进行故障排除和列出。 如果你曾经使用过Docker,那么lxc工具就像docker客户端一样。

最后一些想法和观察,你可能已经看到了很多 conjure-up的动作部分。 它实际上被描述为: 召唤是一个跨越几种不同底层技术的薄层 - Juju,MAAS和LXD。

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

  • lxd版本3.3
  • conjure-up版本2.6.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM