How I installed ICP-CE 2.1.0.3
From IBM Website:
Set up IBM® Cloud Private-CE (Community Edition) master, worker, proxy, and optional management nodes in your cluster.
The CE does not support VA
(I also could not install with a management node, maybe I can add it on after)
The following are the steps I took to do successfully install ICP-CE 2.1.0.3
Node details:
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
Note: My master node and boot node are the same node
Note: I am running on amd64 architecture
Note: I am using a small amount of RAM, for more detail to figure out what will suit you and what other hardware requirements/considerations there are:
https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/supported_system_config/hardware_reqs.html
These are the instructions I am using to do the installation (in case you get stuck some where or I missed something):
https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/install_containers_CE.html
1) Configure my cluster
https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/prep_cluster.html
- I have 4 IP addresses, one associated with each node
- I need to update the /etc/hosts on each node. It's the same file on each node so I have a local copy of hosts and using this command to copy it to each node:
scp hosts root@<ip-address>:/etc
my hosts file looks like this:
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
Just insert your nodes ip-addresses and change the names (like master-boot) so they match your Node names.
- Checked which Python version I have on each node. Python 2.7.12 was already on my Operating System
- Install socat on each node(I used this command:
ssh root@<ip-address> apt-get install socat
)
NOTE: If you are using OpenStack for VMs then there are further steps in the prep_cluster link
2) Install docker onto my boot node (also my master node)
I am following these steps to install docker on Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/#extra-steps-for-aufs
Go to Docker's website to get instructions for your OS
These are the commands I issued, they are from the Docker website (link above).
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
I always run hello-world just to make sure Docker installed
3) Set up the installation environment
I am doing these commands from my boot node, as it is the only node that currently has Docker installed. These steps are from the IBM guide.
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) Set up SSH on my boot node so it can communicate with all other nodes
https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/installing/ssh_keys.html
I am still on my boot node.
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>
NOTE: Since my boot node and master are the same I had to do this command for root on master-boot node, at least I think that is the reason why I had to do that :]
5) Define hosts file in the installation directory
As I mentioned above my installation directory is /opt/ibm-cloud-private-ce-2.1.0.3
. I am going to reference this directory a few more times in the following steps.
I need to go into /opt/ibm-cloud-private-ce-2.1.0.3/cluster and update the hosts file.
NOTE: I did try your setup Jenson with a VA and Management Node, but couldn't get past the installation checks because I was using the CE version. That is why you do not see [va] or [management] in my hosts file. I would try installing without them at first, just to get a successful install.
My hosts file, just add your IP addresses:
[master]
<master-boot-ip-address>
[worker]
<worker1-ip-address>
<worker2-ip-address>
[proxy]
<proxy-ip-address>
6) Copy SSH private key to installation directory
I used SSH to secure my cluster so I am going to copy my private key into the ssh_key
file in /opt/ibm-cloud-private-ce-2.1.0.3/cluster
NOTE: I’m in the /opt/ibm-cloud-private-ce-2.1.0.3/cluster
directory when I issue this command, same directory the hosts
file is in.
sudo cp ~/.ssh/id_rsa ssh_key
7) Configure Proxy Server
This is part of the IBM Guide, I did not do anything at this step.
8) You could install Docker on the other Nodes
I say could because the installation will do it for you if you don't. I did NOT INSTALL Docker on my other nodes and had no problem with the installation doing it for me.
9) Run the install command
From /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
I hope this helps.