ibm cloud private 2.1.0.3 失败并出现 "waiting for MongoDB to start" 错误

ibm cloud private 2.1.0.3 fails with "waiting for MongoDB to start" error

我正在我的沙盒环境中设置一个 IBM 云私有社区版本 2.1.0.3,它包含以下内容:

引导节点:1 主节点:1 工作节点:2 代理:1 管理人员:1 弗吉尼亚州:1

我遵循了所有规范,但安装卡住了 "Waiting for MongoDB to start"。它重试 100 次并以致命错误结束。

我的 ICP-CE 版本无法尝试等待 MongoDB 启动,这是 2.1.0.3 中的新版本。

我是如何安装ICP-CE 2.1.0.3的 来自 IBM 网站:

Set up IBM® Cloud Private-CE (Community Edition) master, worker, proxy, and optional management nodes in your cluster.

CE不支持VA(我也安装不了管理节点,以后可以加上)

以下是我成功安装 ICP-CE 2.1.0.3 所采取的步骤

节点详细信息:

Master Node (also my boot-node): Ubuntu 16.04 with 8GB RAM the Node_name is master-boot

Worker1 Node: Ubuntu 16.04 with 8GB RAM the Node_name is worker1

Worker2 Node: Ubuntu 16.04 with 8GB RAM the Node_name is worker2

Proxy Node: Ubuntu 16.04 with 8GB RAM the Node_name is proxy

注意:我的master节点和boot节点是同一个节点

注意:我运行正在使用 amd64 架构

注意:我使用的是少量 RAM,为了更详细地了解什么适合您以及还有哪些其他硬件 requirements/considerations: https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/supported_system_config/hardware_reqs.html

这些是我用来进行安装的说明(以防你卡在某个地方或者我遗漏了什么): https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/install_containers_CE.html

1) 配置我的集群

https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/prep_cluster.html

  • 我有 4 个 IP 地址,每个节点关联一个
  • 我需要更新每个节点上的/etc/hosts。它在每个节点上都是相同的文件,所以我有主机的本地副本并使用此命令将其复制到每个节点:

scp hosts root@<ip-address>:/etc

我的主机文件如下所示:

127.0.0.1       localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

<master-boot-ip-address>   master-boot
<worker1-ip-address>    worker1
<worker2-ip-address>    worker2
<proxy-ip-address>    proxy

只需插入您的节点 ip 地址并更改名称(如 master-boot),使其与您的节点名称匹配。

  • 检查我在每个节点上有哪个 Python 版本。 Python 2.7.12 已经在我的操作系统上
  • 在每个节点上安装socat(我用的是这个命令:ssh root@<ip-address> apt-get install socat

注意:如果您将 OpenStack 用于 VM,则 prep_cluster link

中还有进一步的步骤

2) 安装docker到我的启动节点(也是我的主节点)

我正在按照以下步骤在 Ubuntu 上安装 docker:https://docs.docker.com/install/linux/docker-ce/ubuntu/#extra-steps-for-aufs

前往 Docker 的网站获取有关 OS

的说明

这些是我发出的命令,它们来自 Docker 网站(link 以上)。

sudo apt-get update


sudo apt-get install apt-transport-https ca-certificates curl software-properties-common


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

sudo apt-get update

sudo apt-get install docker-ce

sudo docker run hello-world

我总是 运行 hello-world 只是为了确保 Docker 安装

3) 设置安装环境 我正在从我的引导节点执行这些命令,因为它是当前唯一安装了 Docker 的节点。这些步骤来自 IBM 指南。

sudo docker pull ibmcom/icp-inception:2.1.0.3

sudo mkdir /opt/ibm-cloud-private-ce-2.1.0.3 (NOTE: Installation Directory)

cd /opt/ibm-cloud-private-ce-2.1.0.3

 sudo docker run -e LICENSE=accept \
 -v "$(pwd)":/data ibmcom/icp-inception:2.1.0.3 cp -r cluster /data

4) 在我的引导节点上设置 SSH,以便它可以与所有其他节点通信 https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/ssh_keys.html

我还在我的引导节点上。

ssh-keygen -b 4096 -f ~/.ssh/id_rsa -N ""

cat ~/.ssh/id_rsa.pub | sudo tee -a ~/.ssh/authorized_keys (add key to authorized keys)

 ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<node_ip_address> 

注意: 因为我的引导节点和主节点相同,所以我必须在主引导节点上为 root 执行此命令,至少我认为这是我的原因必须这样做:]

5) 在安装目录下定义hosts文件 正如我上面提到的,我的安装目录是 /opt/ibm-cloud-private-ce-2.1.0.3。我将在以下步骤中多次引用此目录。

我需要进入 /opt/ibm-cloud-private-ce-2.1.0.3/cluster 并更新主机文件。

注意:我确实尝试过使用 VA 和管理节点设置 Jenson,但无法通过安装检查,因为我使用的是 CE 版本。这就是为什么您在我的主机文件中看不到 [va] 或 [management] 的原因。一开始我会尝试在没有它们的情况下安装,只是为了安装成功。

我的主机文件,只需添加您的 IP 地址:

[master]
<master-boot-ip-address> 

[worker]
<worker1-ip-address>  
<worker2-ip-address> 

[proxy]
<proxy-ip-address>

6)复制SSH私钥到安装目录

我使用 SSH 来保护我的集群,所以我要将我的私钥复制到 /opt/ibm-cloud-private-ce-2.1.0.3/cluster

中的 ssh_key 文件中

注意:当我发出此命令时,我在 /opt/ibm-cloud-private-ce-2.1.0.3/cluster 目录中,与 hosts 文件所在的目录相同。

sudo cp ~/.ssh/id_rsa ssh_key

7) 配置代理服务器

这是 IBM 指南的一部分,我在这一步没有做任何事情。

8) 您可以在其他节点上安装 Docker

我说可以,因为如果您不这样做,安装会为您完成。我没有在我的其他节点上安装 Docker 并且安装对我来说没有问题。

9) 运行 安装命令

来自 /opt/ibm-cloud-private-ce-2.1.0.3/cluster

docker run --net=host -t -e LICENSE=accept -v "$(pwd)":/installer/cluster ibmcom/icp-inception:2.1.0.3 install

希望对您有所帮助。

@Kevin C,我终于弄清楚为什么我的 ICP 失败了。它与内部 K8s 域和我的​​ DNS 有关。我修改了默认的本地集群以匹配我的 DNS 域,瞧,一切都已经处理好了。