Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added ibm doc #12668

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions Documentation/platforms/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
### Installing ETCD on IBM Cloud
This document will describe how to install ETCD on IBM Cloud using Kubernetes services.

### Contents

1. Introduction
2. Provision Kubernetes Cluster
3. Deploy IBM Cloud Block-Storage Plugin
4. Deploy ETCD
5. Verifying the ETCD Installation

### Introduction
To complete this tutorial, you should have an IBM Cloud account, if you do not have one, please [register/signup here](https://cloud.ibm.com/registration).
For installing ETCD, we have used the Kubernetes cluster, and used the IBM Cloud Block-Storage plugin for our persistent volume. Upon the completion of this tutorial, you would have the ETCD up and running on the Kubernetes cluster.

1. Provision the Kubernetes cluster, if you have already setup one, skip to step 2.
2. Deploy the IBM Cloud Block-Storage Plugin to the created cluster, if you have already done this, skip to step 3.
3. Deploy the ETCD.

### Provision Kubernetes Cluster
* Click on the **Catalog** button on top center. Open [Catalog](images/https://cloud.ibm.com/catalog). ![alt text](images/Kubernetes1.png)

* In search catalog box, search for **Kubernetes Service** and click on it. ![alt text](images/Kubernetes2.png)

* You are now at Create Kubernetes Cluster page, there you have the two plans to create the Kubernetes cluster, either using **free plan** or **standard plan**.

**Option1- Using Free Plan:**
* Select Pricing Plan as “**Free**”. ![alt text](images/Kubernetes3.png)
* Click on **Create**.
* Wait a few minutes, and then your Cloud would be ready.

>**Note**: _Please be careful when choosing free cluster, as your pods could be stuck at pending state due to insufficient compute and memory resources, if you face such kind of issue please increase your resource by creating them choosing the standard plan._

**Option2- Using Standard Plan:**
* Select Pricing Plan as “**Standard**”
* Select your **Kubernetes Version** as latest available or desired one by application. In our example we have set it to be '**1.18.13**'.

![alt text](images/Kubernetes4.png)

* Select Infrastructure as “**Classic**”

![alt text](images/Kubernetes5.png)

* Leave Resource Group to “**Default**”
* Select Geography as “**Asia**” or your desired one.
* Select Availability as “**Single Zone**”.
>_This option allows you to create the resources in either single or multi availability zones. Multi availability zone provides you the option to create the resources in more than one availability zones so in case of catastrophe, it could sustain the disaster and continues to work._
* Select Worker Zone as **Chennai 01**.
* In Worker Pool, input your desired number of nodes as “**2**” ![alt text](images/Kubernetes6.png)
* Leave the Encrypt Local Disk option to “**On**”
* Select Master Service Endpoint to “**Both private and public endpoints**”
* Give your cluster-name as “**ETCD-Cluster**”
* Provide tags to your cluster and click on **Create**.
* Wait a few minutes, and then your Cloud would be ready.

![alt text](images/Kubernetes7.png)

### Deploy IBM Cloud Block-Storage Plugin
* Click on the **Catalog** button on top center.
* In search catalog box, search for **IBM Cloud Block Storage Plug-In** and click on it ![alt text](images/Storage1.png)
* Select your cluster as "**ETCD-Cluster**"
* Provide Target Namespace as “**etcd-storage**”, leave name and resource group to **default values**. ![alt text](images/Storage2.png)
* Click on Install

### Deploy ETCD
* Again go to the **Catalog** and search for **ETCD**.

![alt text](images/ETCD1.png)

* Provide the details as below. ![alt text](images/ETCD2.png)

* Target: **IBM Kubernetes Service**
* Method: **Helm chart**
* Kubernetes cluster: **ETCD-Cluster(jp-tok)**
* Target namespace: **etcd**
* Workspace: **etcd-01-06-2021**
* Resource group: **Default**
* Click on **Additional Parameters** with **Default Values**, you can set the deployment values or use the default ones, we have used the default ones except for setting the **Auth. Root Password**.

* Click on **Install**.

### Verifying the ETCD Installation
* Go to the **Resources List** in the Left Navigation Menu and click on **Kubernetes** and then **Clusters**
* Click on your created **ETCD-Cluster**.

![alt text](images/ETCD3.png)

* A screen would come up for your created cluster, click on **Actions**, and then **Web Terminal** ![alt text](images/ETCDVerify1.png)
* A warning will appear asking you to install the Web Terminal, click on **Install**.
* When the terminal is installed, click on the action button again and click on web terminal and type the following command in below command window. It will show you the workspaces of your cluster, you can see ETCD active.

```sh
$ kubectl get ns
```
![alt text](images/ETCDVerify2.png)

```sh
$ kubectl get pod –n Namespace –o wide
```
![alt text](images/ETCDVerify3.png)

```sh
$ kubectl get service –n Namespace
```
![alt text](images/ETCDVerify4.png)

```sh
$ kubectl exec --stdin --tty PODNAME -n NAMESPACE -- /bin/bash
$ etcdctl --help
```
![alt text](images/ETCDVerify5.png)


The installation is done. Enjoy!
Binary file added Documentation/platforms/images/ETCD1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCD2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCD3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCDVerify1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCDVerify2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCDVerify3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCDVerify4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/ETCDVerify5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Kubernetes7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Storage1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/platforms/images/Storage2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.