brand changed
This commit is contained in:
@ -1,11 +1,11 @@
|
||||
Automatic Kubernetes cluster upgrade on 3Engines Cloud OpenStack Magnum[🔗](#automatic-kubernetes-cluster-upgrade-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
Automatic Kubernetes cluster upgrade on 3Engines Cloud 3Engines Magnum[🔗](#automatic-kubernetes-cluster-upgrade-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================
|
||||
|
||||
Warning
|
||||
|
||||
Upgradeable cluster templates are available on 3Engines Cloud WAW4-1 region only at the moment of this writing.
|
||||
|
||||
OpenStack Magnum clusters created in 3Engines Cloud can be **automatically** upgraded to the next minor Kubernetes version. This feature is available for clusters starting with version 1.29 of Kubernetes.
|
||||
3Engines Magnum clusters created in 3Engines Cloud can be **automatically** upgraded to the next minor Kubernetes version. This feature is available for clusters starting with version 1.29 of Kubernetes.
|
||||
|
||||
In this article we demonstrate an upgrade of a Magnum Kubernetes cluster from version 1.29 to version 1.30.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Autoscaling Kubernetes Cluster Resources on 3Engines Cloud OpenStack Magnum[🔗](#autoscaling-kubernetes-cluster-resources-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
Autoscaling Kubernetes Cluster Resources on 3Engines Cloud 3Engines Magnum[🔗](#autoscaling-kubernetes-cluster-resources-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
=======================================================================================================================================================================================
|
||||
|
||||
When **autoscaling of Kubernetes clusters** is turned on, the system can
|
||||
@ -7,7 +7,7 @@ When **autoscaling of Kubernetes clusters** is turned on, the system can
|
||||
> * Remove unneeded resources when the demand is low and thus keep the costs down.
|
||||
> * The whole process can be automatic, helping the administrator concentrate on more important tasks at hand.
|
||||
|
||||
This article explains various commands to resize or scale the cluster and will lead to a command to automatically create an autoscalable Kubernetes cluster for OpenStack Magnum.
|
||||
This article explains various commands to resize or scale the cluster and will lead to a command to automatically create an autoscalable Kubernetes cluster for 3Engines Magnum.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -27,19 +27,19 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Creating clusters with CLI**
|
||||
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
No. 3 **Connect openstack client to the cloud**
|
||||
No. 3 **Connect 3Engines client to the cloud**
|
||||
|
||||
Prepare **openstack** and **magnum** clients by executing *Step 2 Connect OpenStack and Magnum Clients to Horizon Cloud* from article [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
Prepare **3Engines** and **magnum** clients by executing *Step 2 Connect 3Engines and Magnum Clients to Horizon Cloud* from article [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
|
||||
No. 4. **Resizing Nodegroups**
|
||||
|
||||
Step 7 of article [Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud OpenStack Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-OpenStack-Magnum.html.md) shows example of resizing the nodegroups for autoscaling.
|
||||
Step 7 of article [Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud 3Engines Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-3Engines-Magnum.html.md) shows example of resizing the nodegroups for autoscaling.
|
||||
|
||||
No. 5 **Creating Clusters**
|
||||
|
||||
Step 2 of article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md) shows how to define master and worker nodes for autoscaling.
|
||||
Step 2 of article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md) shows how to define master and worker nodes for autoscaling.
|
||||
|
||||
There are three different autoscaling features that a Kubernetes cloud can offer:
|
||||
|
||||
@ -85,7 +85,7 @@ Autoscaling Node Groups at Run Time[🔗](#autoscaling-node-groups-at-run-time "
|
||||
The autoscaler in Magnum uses Node Groups. Node groups can be used to create workers with different flavors. The default-worker node group is automatically created when cluster is provisioned. Node groups have lower and upper limits of node count. This is the command to print them out for a given cluster:
|
||||
|
||||
```
|
||||
openstack coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
|
||||
```
|
||||
|
||||
@ -103,7 +103,7 @@ The result would be:
|
||||
This works fine until you try to resize cluster beyond the limit set in node group. If you try to resize the above cluster to 12 nodes, like this:
|
||||
|
||||
```
|
||||
openstack coe cluster resize NoLoadBalancer --nodegroup default-worker 12
|
||||
3Engines coe cluster resize NoLoadBalancer --nodegroup default-worker 12
|
||||
|
||||
```
|
||||
|
||||
@ -117,18 +117,18 @@ Resizing default-worker outside the allowed range: min_node_count = 1, max_node_
|
||||
To resolve this error, change *node\_group max\_node\_count* manually:
|
||||
|
||||
```
|
||||
openstack coe nodegroup update NoLoadBalancer default-worker replace max_node_count=15
|
||||
3Engines coe nodegroup update NoLoadBalancer default-worker replace max_node_count=15
|
||||
|
||||
```
|
||||
|
||||
and then resize cluster to the desired value which was less that 15 in this example:
|
||||
|
||||
openstack coe cluster resize NoLoadBalancer –nodegroup default-worker 12
|
||||
3Engines coe cluster resize NoLoadBalancer –nodegroup default-worker 12
|
||||
|
||||
If you repeat the first statement:
|
||||
|
||||
```
|
||||
openstack coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
|
||||
```
|
||||
|
||||
@ -149,7 +149,7 @@ How Autoscaling Detects Upper Limit[🔗](#how-autoscaling-detects-upper-limit "
|
||||
The first version of Autoscaling would take the current upper limit of autoscaling in variable *node\_count* and add 1 to it. If the command to create a cluster were
|
||||
|
||||
```
|
||||
openstack coe cluster create mycluster --cluster-template mytemplate --node-count 8 --master-count 3
|
||||
3Engines coe cluster create mycluster --cluster-template mytemplate --node-count 8 --master-count 3
|
||||
|
||||
```
|
||||
|
||||
@ -158,7 +158,7 @@ that version of Autoscaler would take the value of **9** (counting as **8 + 1**)
|
||||
The current Autoscaler can support multiple node groups by detecting the role of the node group:
|
||||
|
||||
```
|
||||
openstack coe nodegroup show NoLoadBalancer default-worker -f json -c role
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c role
|
||||
|
||||
```
|
||||
|
||||
@ -177,7 +177,7 @@ Attention
|
||||
|
||||
Any additional node group must include concrete *max\_node\_count* attribute.
|
||||
|
||||
See Prerequisites No. 4 for detailed examples of using the **openstack coe nodegroup** family of commands.
|
||||
See Prerequisites No. 4 for detailed examples of using the **3Engines coe nodegroup** family of commands.
|
||||
|
||||
Autoscaling Labels for Clusters[🔗](#autoscaling-labels-for-clusters "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
@ -206,7 +206,7 @@ The command to create a cluster with CLI must encompass all of the usual paramet
|
||||
This is what one such command could look like:
|
||||
|
||||
```
|
||||
openstack coe cluster create mycluster
|
||||
3Engines coe cluster create mycluster
|
||||
--cluster-template k8s-stable-1.23.5
|
||||
--keypair sshkey
|
||||
--master-count 1
|
||||
@ -223,7 +223,7 @@ The line containing labels will be only partially visible on the screen, but onc
|
||||
|
||||
The command is:
|
||||
|
||||
> **openstack coe cluster create mycluster –cluster-template k8s-stable-1.23.5 –keypair sshkey –master-count 1 –node-count 3 –labels auto\_scaling\_enabled=true,autoscaler\_tag=v1.22.0,calico\_ipv4pool\_ipip=Always,cinder\_csi\_plugin\_tag=v1.21.0/,cloud\_provider\_enabled=true,cloud\_provider\_tag=v1.21.0,container\_infra\_prefix=registry-public.3Engines.com/magnum/,eodata\_access\_enabled=false,etcd\_volume\_size=8,etcd\_volume\_type=ssd,hyperkube\_prefix=registry-public.3Engines.com/magnum/,k8s\_keystone\_auth\_tag=v1.21.0,kube\_tag=v1.21.5-rancher1,master\_lb\_floating\_ip\_enabled=true,min\_node\_count=2,max\_node\_count=4**
|
||||
> **3Engines coe cluster create mycluster –cluster-template k8s-stable-1.23.5 –keypair sshkey –master-count 1 –node-count 3 –labels auto\_scaling\_enabled=true,autoscaler\_tag=v1.22.0,calico\_ipv4pool\_ipip=Always,cinder\_csi\_plugin\_tag=v1.21.0/,cloud\_provider\_enabled=true,cloud\_provider\_tag=v1.21.0,container\_infra\_prefix=registry-public.3Engines.com/magnum/,eodata\_access\_enabled=false,etcd\_volume\_size=8,etcd\_volume\_type=ssd,hyperkube\_prefix=registry-public.3Engines.com/magnum/,k8s\_keystone\_auth\_tag=v1.21.0,kube\_tag=v1.21.5-rancher1,master\_lb\_floating\_ip\_enabled=true,min\_node\_count=2,max\_node\_count=4**
|
||||
|
||||
The name will be *mycluster*, one master node and three worker nodes in the beginning.
|
||||
|
||||
@ -248,7 +248,7 @@ The “worker” role is assigned by default if not specified. The maximum numbe
|
||||
First see which nodegroups are present for cluster *k8s-cluster*. The command is
|
||||
|
||||
```
|
||||
openstack coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
|
||||
```
|
||||
|
||||
@ -259,9 +259,9 @@ Switch **-c** denotes which column to show, disregarding all other columns that
|
||||
Now add and print a nodegroup without role:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create k8s-cluster nodegroup-without-role --node-count 1 --min-nodes 1 --max-nodes 5
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-without-role --node-count 1 --min-nodes 1 --max-nodes 5
|
||||
|
||||
openstack coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
|
||||
```
|
||||
|
||||
@ -272,9 +272,9 @@ Since the role was not specified, a default value of “worker” was assigned t
|
||||
Now add a node group called *nodegroup-with-role* and the name of the role will be *custom*:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create k8s-cluster nodegroup-with-role --node-count 1 --min-nodes 1 --max-nodes 5 --role custom
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-with-role --node-count 1 --min-nodes 1 --max-nodes 5 --role custom
|
||||
|
||||
openstack coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
|
||||
```
|
||||
|
||||
@ -285,9 +285,9 @@ That will add a nodegroup but will not autoscale it on its own, as there is no *
|
||||
Finally, add a nodegroup called *nodegroup-with-role-2* which will have two roles defined in one statement, that is, both *custom* and *worker*. Since at least one of the roles is *worker*, it will autoscale automatically.
|
||||
|
||||
```
|
||||
openstack coe nodegroup create k8s-cluster nodegroup-with-role-2 --node-count 1 --min-nodes 1 --max-nodes 5 --role custom,worker
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-with-role-2 --node-count 1 --min-nodes 1 --max-nodes 5 --role custom,worker
|
||||
|
||||
openstack coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
|
||||
```
|
||||
|
||||
@ -300,18 +300,18 @@ Cluster **k8s-cluster** now has **8** nodes:
|
||||
You can delete these three clusters with the following set of commands:
|
||||
|
||||
```
|
||||
openstack coe nodegroup delete k8s-cluster nodegroup-with-role
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-with-role
|
||||
|
||||
openstack coe nodegroup delete k8s-cluster nodegroup-with-role-2
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-with-role-2
|
||||
|
||||
openstack coe nodegroup delete k8s-cluster nodegroup-without-role
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-without-role
|
||||
|
||||
```
|
||||
|
||||
Once again, see the result:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
|
||||
```
|
||||
|
||||
@ -332,7 +332,7 @@ How To Obtain All Labels From the CLI[🔗](#how-to-obtain-all-labels-from-the-c
|
||||
There is a special command which will produce labels from a cluster:
|
||||
|
||||
```
|
||||
openstack coe cluster template show k8s-stable-1.23.5 -c labels -f yaml
|
||||
3Engines coe cluster template show k8s-stable-1.23.5 -c labels -f yaml
|
||||
|
||||
```
|
||||
|
||||
@ -6,7 +6,7 @@ What is Velero[🔗](#what-is-velero "Permalink to this headline")
|
||||
|
||||
[Velero](https://velero.io) is the official open source project from VMware. It can back up all Kubernetes API objects and persistent volumes from the cluster on which it is installed. Backed up objects can be restored on the same cluster, or on a new one. Using a package like Velero is essential for any serious development in the Kubernetes cluster.
|
||||
|
||||
In essence, you create object store under OpenStack, either using Horizon or Swift module of **openstack** command and then save cluster state into it. Restoring is the same in reverse – read from that object store and save it to a Kubernetes cluster.
|
||||
In essence, you create object store under 3Engines, either using Horizon or Swift module of **3Engines** command and then save cluster state into it. Restoring is the same in reverse – read from that object store and save it to a Kubernetes cluster.
|
||||
|
||||
Velero has its own CLI command system so it is possible to automate creation of backups using cron jobs.
|
||||
|
||||
@ -34,7 +34,7 @@ No. 2 **How to Access Kubernetes cluster post-deployment**
|
||||
|
||||
We shall also assume that you have one or more Kubernetes clusters ready and accessible via a **kubectl** command:
|
||||
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
The result of that article will be setting up of system variable **KUBECONFIG**, which points to the configuration file for access to the Kubernetes cloud. A typical command will be:
|
||||
|
||||
@ -67,11 +67,11 @@ CLI
|
||||
: You can also use command such as
|
||||
|
||||
```
|
||||
openstack container
|
||||
3Engines container
|
||||
|
||||
```
|
||||
|
||||
to work with object storage. For more information see [How to access object storage using OpenStack CLI on 3Engines Cloud](../openstackcli/How-to-access-object-storage-using-OpenStack-CLI-on-3Engines-Cloud.html.md)
|
||||
to work with object storage. For more information see [How to access object storage using 3Engines CLI on 3Engines Cloud](../3Enginescli/How-to-access-object-storage-using-3Engines-CLI-on-3Engines-Cloud.html.md)
|
||||
|
||||
Either way, we shall assume that there is a container called “bucketnew”:
|
||||
|
||||
@ -95,11 +95,11 @@ It will be necessary to have access to a Kubernetes cluster, v1.16 or later, wit
|
||||
|
||||
### Installation step 1 Getting EC2 client credentials[🔗](#installation-step-1-getting-ec2-client-credentials "Permalink to this headline")
|
||||
|
||||
First fetch EC2 credentials from OpenStack. They are necessary to access private bucket (container). Generate them on your own by executing the following commands:
|
||||
First fetch EC2 credentials from 3Engines. They are necessary to access private bucket (container). Generate them on your own by executing the following commands:
|
||||
|
||||
```
|
||||
openstack ec2 credentials create
|
||||
openstack ec2 credentials list
|
||||
3Engines ec2 credentials create
|
||||
3Engines ec2 credentials list
|
||||
|
||||
```
|
||||
|
||||
@ -134,7 +134,7 @@ WAW4-1WAW3-1WAW3-2FRA1-2
|
||||
> backupStorageLocation:
|
||||
> provider: aws
|
||||
> name: ## enter name of backup storage location (could be anything)
|
||||
> bucket: ## enter name of bucket created in openstack
|
||||
> bucket: ## enter name of bucket created in 3Engines
|
||||
> default: true
|
||||
> config:
|
||||
> region: default
|
||||
@ -176,7 +176,7 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in openstack
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
default: true
|
||||
config:
|
||||
region: waw3-1
|
||||
@ -218,7 +218,7 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in openstack
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
default: true
|
||||
config:
|
||||
region: default
|
||||
@ -260,7 +260,7 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in openstack
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
default: true
|
||||
config:
|
||||
region: default
|
||||
|
||||
@ -21,7 +21,7 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Kubernetes cluster**
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Local version of GitLab available**
|
||||
|
||||
@ -46,9 +46,9 @@ is a tool to build container images based on a provided Dockerfile. For more ela
|
||||
|
||||
No. 7 **Private and public keys available**
|
||||
|
||||
To connect to our GitLab instance we need a combination of a private and a public key. You can use any key pair, one option is to use OpenStack Horizon to create one. For reference see:
|
||||
To connect to our GitLab instance we need a combination of a private and a public key. You can use any key pair, one option is to use 3Engines Horizon to create one. For reference see:
|
||||
|
||||
See [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md)
|
||||
See [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md)
|
||||
|
||||
Here, we use the key pair to connect to GitLab instance that we previously installed in Prerequisite No. 3.
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Configuring IP Whitelisting for OpenStack Load Balancer using Horizon and CLI on 3Engines Cloud[🔗](#configuring-ip-whitelisting-for-openstack-load-balancer-using-horizon-and-cli-on-brand-name "Permalink to this headline")
|
||||
Configuring IP Whitelisting for 3Engines Load Balancer using Horizon and CLI on 3Engines Cloud[🔗](#configuring-ip-whitelisting-for-3Engines-load-balancer-using-horizon-and-cli-on-brand-name "Permalink to this headline")
|
||||
===============================================================================================================================================================================================================================
|
||||
|
||||
This guide explains how to configure IP whitelisting (**allowed\_cidrs**) on an existing OpenStack Load Balancer using Horizon and CLI commands. The configuration will limit access to your cluster through load balancer.
|
||||
This guide explains how to configure IP whitelisting (**allowed\_cidrs**) on an existing 3Engines Load Balancer using Horizon and CLI commands. The configuration will limit access to your cluster through load balancer.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -27,7 +27,7 @@ In this article, we will use the following two addresses to whitelist:
|
||||
|
||||
No. 3 **Python Octavia Client**
|
||||
|
||||
To operate Load Balancers with CLI, the Python Octavia Client (python-octaviaclient) is required. It is a command-line client for the OpenStack Load Balancing service. Install the load-balancer (Octavia) plugin with the following command from the Terminal window, on Ubuntu 22.04:
|
||||
To operate Load Balancers with CLI, the Python Octavia Client (python-octaviaclient) is required. It is a command-line client for the 3Engines Load Balancing service. Install the load-balancer (Octavia) plugin with the following command from the Terminal window, on Ubuntu 22.04:
|
||||
|
||||
```
|
||||
pip install python-octaviaclient
|
||||
@ -74,7 +74,7 @@ At the bottom of the window, find the Stack ID:
|
||||
Now execute the commands:
|
||||
|
||||
```
|
||||
openstack coe cluster show <your_cluster_id> \
|
||||
3Engines coe cluster show <your_cluster_id> \
|
||||
-f value -c stack_id \
|
||||
<stack_id for example 12345678-1234-1234-1234-123456789011>
|
||||
|
||||
@ -83,7 +83,7 @@ openstack coe cluster show <your_cluster_id> \
|
||||
To find **LB\_ID**
|
||||
|
||||
```
|
||||
openstack stack resource list <your_stack_id> \
|
||||
3Engines stack resource list <your_stack_id> \
|
||||
-n 5 -c resource_name -c physical_resource_id \
|
||||
| grep loadbalancer_with_flavor \
|
||||
| loadbalancer_with_flavor \
|
||||
@ -94,7 +94,7 @@ openstack stack resource list <your_stack_id> \
|
||||
With that information, now we can check our **listener\_id**; it is to this component that we will attach the whitelist:
|
||||
|
||||
```
|
||||
openstack loadbalancer \
|
||||
3Engines loadbalancer \
|
||||
show 2d6b335f-fb05-4496-8593-887f7e2c49cf \
|
||||
-c listeners \
|
||||
-f value \
|
||||
@ -107,7 +107,7 @@ show 2d6b335f-fb05-4496-8593-887f7e2c49cf \
|
||||
We now have the listener and the IP addresses which will be whitelisted. This is the command that will set up the whitelisting:
|
||||
|
||||
```
|
||||
openstack loadbalancer listener set \
|
||||
3Engines loadbalancer listener set \
|
||||
--allowed-cidr 10.0.0.0/8 \
|
||||
--allowed-cidr 10.95.255.0/24 \
|
||||
<listener_id for example 12345678-1234-1234-1234-123456789011>
|
||||
@ -230,6 +230,6 @@ curl http://<LOAD_BALANCER_IP>
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
You can wrap up this procedure with Terraform and apply to a larger number of load balancers. See [Configuring IP Whitelisting for OpenStack Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
You can wrap up this procedure with Terraform and apply to a larger number of load balancers. See [Configuring IP Whitelisting for 3Engines Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
|
||||
Also, compare with [Implementing IP Whitelisting for Load Balancers with Security Groups on 3Engines Cloud](Implementing-IP-Whitelisting-for-Load-Balancers-with-Security-Groups-on-3Engines-Cloud.html.md)
|
||||
@ -1,7 +1,7 @@
|
||||
Configuring IP Whitelisting for OpenStack Load Balancer using Terraform on 3Engines Cloud[🔗](#configuring-ip-whitelisting-for-openstack-load-balancer-using-terraform-on-brand-name "Permalink to this headline")
|
||||
Configuring IP Whitelisting for 3Engines Load Balancer using Terraform on 3Engines Cloud[🔗](#configuring-ip-whitelisting-for-3Engines-load-balancer-using-terraform-on-brand-name "Permalink to this headline")
|
||||
===================================================================================================================================================================================================================
|
||||
|
||||
This guide explains how to configure IP whitelisting (**allowed\_cidrs**) on an existing OpenStack Load Balancer using Terraform. The configuration will limit access to your cluster through load balancer.
|
||||
This guide explains how to configure IP whitelisting (**allowed\_cidrs**) on an existing 3Engines Load Balancer using Terraform. The configuration will limit access to your cluster through load balancer.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -21,22 +21,22 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Basic parameters already defined for whitelisting**
|
||||
|
||||
See article [Configuring IP Whitelisting for OpenStack Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md) for definition of basic notions and parameters.
|
||||
See article [Configuring IP Whitelisting for 3Engines Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md) for definition of basic notions and parameters.
|
||||
|
||||
No. 3 **Terraform installed**
|
||||
|
||||
You will need version 1.50 or higher to be operational.
|
||||
|
||||
For complete introduction and installation of Terrafom on OpenStack see article [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../openstackdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
For complete introduction and installation of Terrafom on 3Engines see article [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
|
||||
No. 4 **Unrestricted application credentials**
|
||||
|
||||
You need to have OpenStack application credentials with unrestricted checkbox. Check article [How to generate or use Application Credentials via CLI on 3Engines Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-3Engines-Cloud.html.md)
|
||||
You need to have 3Engines application credentials with unrestricted checkbox. Check article [How to generate or use Application Credentials via CLI on 3Engines Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-3Engines-Cloud.html.md)
|
||||
|
||||
The first part of that article describes how to have installed OpenStack client and connect it to the cloud. With that provision, the quickest way to create an unrestricted application credential is to apply the command like this:
|
||||
The first part of that article describes how to have installed 3Engines client and connect it to the cloud. With that provision, the quickest way to create an unrestricted application credential is to apply the command like this:
|
||||
|
||||
```
|
||||
openstack application credential create cred_unrestricted --unrestricted
|
||||
3Engines application credential create cred_unrestricted --unrestricted
|
||||
|
||||
```
|
||||
|
||||
@ -60,10 +60,10 @@ Configure Terraform for whitelisting[🔗](#configure-terraform-for-whitelisting
|
||||
|
||||
Instead of performing the whitelisting procedure manually, we can use Terraform and store the procedure in the remote repo.
|
||||
|
||||
Create file **openstack\_auth.sh**
|
||||
Create file **3Engines\_auth.sh**
|
||||
|
||||
```
|
||||
export OS_AUTH_URL="https://your-openstack-url:5000/v3"
|
||||
export OS_AUTH_URL="https://your-3Engines-url:5000/v3"
|
||||
export OS_PROJECT_NAME="your-project"
|
||||
export OS_USERNAME="your-username"
|
||||
export OS_PASSWORD="your-password"
|
||||
@ -84,14 +84,14 @@ Create Terraform file:
|
||||
```
|
||||
terraform {
|
||||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
3Engines = {
|
||||
source = "terraform-provider-3Engines/3Engines"
|
||||
version = "1.47.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "openstack" {
|
||||
provider "3Engines" {
|
||||
use_octavia = true # Required for Load Balancer v2 API
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ provider "openstack" {
|
||||
```
|
||||
variable "ID_OF_LOADBALANCER" {
|
||||
type = string
|
||||
description = "ID of the existing OpenStack Load Balancer"
|
||||
description = "ID of the existing 3Engines Load Balancer"
|
||||
}
|
||||
|
||||
variable "allowed_cidrs" {
|
||||
@ -127,7 +127,7 @@ allowed_cidrs = [
|
||||
**lb.tf**
|
||||
|
||||
```
|
||||
resource "openstack_lb_listener_v2" "k8s_api_listener" {
|
||||
resource "3Engines_lb_listener_v2" "k8s_api_listener" {
|
||||
loadbalancer_id = var.ID_OF_LOADBALANCER
|
||||
allowed_cidrs = var.allowed_cidrs
|
||||
protocol_port = "6443"
|
||||
@ -145,7 +145,7 @@ Since Terraform 1.5 can import your resource in declarative way.
|
||||
|
||||
```
|
||||
import {
|
||||
to = openstack_lb_listener_v2.k8s_api_listener
|
||||
to = 3Engines_lb_listener_v2.k8s_api_listener
|
||||
id = "your-listener-id"
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@ import {
|
||||
Or you can do it in an imperative way:
|
||||
|
||||
```
|
||||
terraform import openstack_lb_listener_v2.k8s_api_listener "<your-listener-id>"
|
||||
terraform import 3Engines_lb_listener_v2.k8s_api_listener "<your-listener-id>"
|
||||
|
||||
```
|
||||
|
||||
@ -176,8 +176,8 @@ terraform apply generated_listener.tf
|
||||
|
||||
```
|
||||
Terraform apply generated_listener.tf
|
||||
openstack_lb_listener_v2.k8s_api_listener: Preparing import... [id=bbf39f1c-6936-4344-9957-7517d4a979b6]
|
||||
openstack_lb_listener_v2.k8s_api_listener: Refreshing state... [id=bbf39f1c-6936-4344-9957-7517d4a979b6]
|
||||
3Engines_lb_listener_v2.k8s_api_listener: Preparing import... [id=bbf39f1c-6936-4344-9957-7517d4a979b6]
|
||||
3Engines_lb_listener_v2.k8s_api_listener: Refreshing state... [id=bbf39f1c-6936-4344-9957-7517d4a979b6]
|
||||
|
||||
Terraform used the selected providers to generate the following execution
|
||||
plan. Resource actions are indicated with the following symbols:
|
||||
@ -185,9 +185,9 @@ plan. Resource actions are indicated with the following symbols:
|
||||
|
||||
Terraform will perform the following actions:
|
||||
|
||||
# openstack_lb_listener_v2.k8s_api_listener will be updated in-place
|
||||
# 3Engines_lb_listener_v2.k8s_api_listener will be updated in-place
|
||||
# (imported from "bbf39f1c-6936-4344-9957-7517d4a979b6")
|
||||
~ resource "openstack_lb_listener_v2" "k8s_api_listener" {
|
||||
~ resource "3Engines_lb_listener_v2" "k8s_api_listener" {
|
||||
admin_state_up = true
|
||||
~ allowed_cidrs = [
|
||||
+ "10.0.0.1/32",
|
||||
@ -27,7 +27,7 @@ No. 2 **Familiarity with Linux and cloud management**
|
||||
We assume you know the basics of Linux and 3Engines Cloud cloud management:
|
||||
|
||||
* Creating, accessing and using virtual machines
|
||||
[How to create new Linux VM in OpenStack Dashboard Horizon on 3Engines Cloud](../cloud/How-to-create-new-Linux-VM-in-OpenStack-Dashboard-Horizon-on-3Engines-Cloud.html.md)
|
||||
[How to create new Linux VM in 3Engines Dashboard Horizon on 3Engines Cloud](../cloud/How-to-create-new-Linux-VM-in-3Engines-Dashboard-Horizon-on-3Engines-Cloud.html.md)
|
||||
|
||||
* Creating security groups [How to use Security Groups in Horizon on 3Engines Cloud](../cloud/How-to-use-Security-Groups-in-Horizon-on-3Engines-Cloud.html.md)
|
||||
|
||||
@ -35,11 +35,11 @@ We assume you know the basics of Linux and 3Engines Cloud cloud management:
|
||||
|
||||
No. 3 **A running Kubernetes cluster**
|
||||
|
||||
You will also need a Kubernetes cluster to try out the commands. To create one from scratch, see [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
You will also need a Kubernetes cluster to try out the commands. To create one from scratch, see [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **kubectl access to the Kubernetes cloud**
|
||||
|
||||
As usual when working with Kubernetes clusters, you will need to use the **kubectl** command: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
As usual when working with Kubernetes clusters, you will need to use the **kubectl** command: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
1. Set up NFS server on a VM[🔗](#set-up-nfs-server-on-a-vm "Permalink to this headline")
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud OpenStack Magnum[🔗](#creating-additional-nodegroups-in-kubernetes-cluster-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud 3Engines Magnum[🔗](#creating-additional-nodegroups-in-kubernetes-cluster-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================================================
|
||||
|
||||
The Benefits of Using Nodegroups[🔗](#the-benefits-of-using-nodegroups "Permalink to this headline")
|
||||
@ -21,7 +21,7 @@ Other uses of nodegroup roles also include:
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
> * The structure of command **openstack coe nodelist**
|
||||
> * The structure of command **3Engines coe nodelist**
|
||||
> * How to produce manageable output from **nodelist** set of commands
|
||||
> * How to **list** what nodegroups are available in a cluster
|
||||
> * How to **show** the contents of one particular *nodegroup* in a cluster
|
||||
@ -40,11 +40,11 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Creating clusters with CLI**
|
||||
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
No. 3 **Connect openstack client to the cloud**
|
||||
No. 3 **Connect 3Engines client to the cloud**
|
||||
|
||||
Prepare **openstack** and **magnum** clients by executing *Step 2 Connect OpenStack and Magnum Clients to Horizon Cloud* from article [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
Prepare **3Engines** and **magnum** clients by executing *Step 2 Connect 3Engines and Magnum Clients to Horizon Cloud* from article [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
|
||||
No. 4 **Check available quotas**
|
||||
|
||||
@ -53,18 +53,18 @@ Before creating additional node groups check the state of the resources with Hor
|
||||
Nodegroup Subcommands[🔗](#nodegroup-subcommands "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Once you create a Kubernetes cluster on OpenStack Magnum, there are five *nodegroup* commands at your disposal:
|
||||
Once you create a Kubernetes cluster on 3Engines Magnum, there are five *nodegroup* commands at your disposal:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create
|
||||
3Engines coe nodegroup create
|
||||
|
||||
openstack coe nodegroup delete
|
||||
3Engines coe nodegroup delete
|
||||
|
||||
openstack coe nodegroup list
|
||||
3Engines coe nodegroup list
|
||||
|
||||
openstack coe nodegroup show
|
||||
3Engines coe nodegroup show
|
||||
|
||||
openstack coe nodegroup update
|
||||
3Engines coe nodegroup update
|
||||
|
||||
```
|
||||
|
||||
@ -76,18 +76,18 @@ Step 1 Access the Current State of Clusters and Their Nodegroups[🔗](#step-1-a
|
||||
Here is which clusters are available in the system:
|
||||
|
||||
```
|
||||
openstack coe cluster list --max-width 120
|
||||
3Engines coe cluster list --max-width 120
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
The default process of creating Kubernetes clusters on OpenStack Magnum produces two nodegroups, **default-master** and **default-worker**. Use commands
|
||||
The default process of creating Kubernetes clusters on 3Engines Magnum produces two nodegroups, **default-master** and **default-worker**. Use commands
|
||||
|
||||
```
|
||||
openstack coe nodegroup list kubelbtrue
|
||||
3Engines coe nodegroup list kubelbtrue
|
||||
|
||||
openstack coe nodegroup list k8s-cluster
|
||||
3Engines coe nodegroup list k8s-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -103,7 +103,7 @@ Step 2 How to Create a New Nodegroup[🔗](#step-2-how-to-create-a-new-nodegroup
|
||||
In this step you learn about the parameters available for the **nodegroup create** command. This is the general structure:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create [-h]
|
||||
3Engines coe nodegroup create [-h]
|
||||
[--docker-volume-size <docker-volume-size>]
|
||||
[--labels <KEY1=VALUE1,KEY2=VALUE2;KEY3=VALUE3...>]
|
||||
[--node-count <node-count>]
|
||||
@ -120,7 +120,7 @@ openstack coe nodegroup create [-h]
|
||||
You will now create a nodegroup of two members, it will be called *testing*, the role will be called *test*, and add it to the cluster *k8s-cluster*:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create \
|
||||
3Engines coe nodegroup create \
|
||||
--node-count 2 \
|
||||
--role test \
|
||||
k8s-cluster testing
|
||||
@ -130,7 +130,7 @@ k8s-cluster testing
|
||||
Then use the command
|
||||
|
||||
```
|
||||
openstack coe nodegroup list k8s-cluster
|
||||
3Engines coe nodegroup list k8s-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -152,7 +152,7 @@ Step 3 Using **role** to Filter Nodegroups in the Cluster[🔗](#step-3-using-ro
|
||||
It is possible to filter node groups according to the role. Here is the command to show only the *test* nodegroup:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list k8s-cluster --role test
|
||||
3Engines coe nodegroup list k8s-cluster --role test
|
||||
|
||||
```
|
||||
|
||||
@ -168,7 +168,7 @@ Step 4 Show Details of the Nodegroup Created[🔗](#step-4-show-details-of-the-n
|
||||
Command **show** presents the details of a nodegroup in various formats – *json*, *table*, *shell*, *value* or *yaml*. The default is *table* but use parameter **–max-width** to limit the number of columns in it:
|
||||
|
||||
```
|
||||
openstack coe nodegroup show --max-width 80 k8s-cluster testing
|
||||
3Engines coe nodegroup show --max-width 80 k8s-cluster testing
|
||||
|
||||
```
|
||||
|
||||
@ -180,7 +180,7 @@ Step 5 Delete the Existing Nodegroup[🔗](#step-5-delete-the-existing-nodegroup
|
||||
In this step you shall try to create a nodegroup with small footprint:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create \
|
||||
3Engines coe nodegroup create \
|
||||
--node-count 2 \
|
||||
--role test \
|
||||
--image cirros-0.4.0-x86_64-2 \
|
||||
@ -194,7 +194,7 @@ After one hour, the command was cancelled and the creation has failed. The resou
|
||||
One way is to use the CLI **delete** subcommand, like this:
|
||||
|
||||
```
|
||||
openstack coe nodegroup delete k8s-cluster cirros
|
||||
3Engines coe nodegroup delete k8s-cluster cirros
|
||||
|
||||
```
|
||||
|
||||
@ -218,7 +218,7 @@ Step 6 Update the Existing Nodegroup[🔗](#step-6-update-the-existing-nodegroup
|
||||
In this step you will directly update the existing nodegroup, rather than adding and deleting them in a row. The example command is:
|
||||
|
||||
```
|
||||
openstack coe nodegroup update k8s-cluster testing replace min_node_count=1
|
||||
3Engines coe nodegroup update k8s-cluster testing replace min_node_count=1
|
||||
|
||||
```
|
||||
|
||||
@ -232,14 +232,14 @@ Step 7 Resize the Nodegroup[🔗](#step-7-resize-the-nodegroup "Permalink to thi
|
||||
Resizing the *nodegroup* is similar to resizing the cluster, with the addition of parameter **–nodegroup**. Currently, the number of nodes in group *testing* is 2. Make it **1**:
|
||||
|
||||
```
|
||||
openstack coe cluster resize k8s-cluster --nodegroup testing 1
|
||||
3Engines coe cluster resize k8s-cluster --nodegroup testing 1
|
||||
|
||||
```
|
||||
|
||||
To see the result, apply the command
|
||||
|
||||
```
|
||||
openstack coe nodegroup list --max-width 120 k8s-cluster
|
||||
3Engines coe nodegroup list --max-width 120 k8s-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -21,7 +21,7 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Private and public keys**
|
||||
|
||||
To create a cluster, you will need an available SSH key pair. If you do not have one already, follow this article to create it in the OpenStack dashboard: [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md).
|
||||
To create a cluster, you will need an available SSH key pair. If you do not have one already, follow this article to create it in the 3Engines dashboard: [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md).
|
||||
|
||||
No. 3 **Documentation for standard templates**
|
||||
|
||||
@ -37,7 +37,7 @@ Documentation for *localstorage* templates:
|
||||
|
||||
No. 4 **How to create Kubernetes clusters**
|
||||
|
||||
The general procedure is explained in [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
The general procedure is explained in [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 5 **Using vGPU in Kubernetes clusters**
|
||||
|
||||
@ -77,7 +77,7 @@ How to choose a proper template[🔗](#how-to-choose-a-proper-template "Permalin
|
||||
|
||||
**Standard templates**
|
||||
|
||||
Standard templates are general in nature and you can use them for any type of Kubernetes cluster. Each will produce a working Kubernetes cluster on 3Engines Cloud OpenStack Magnum hosting. The default network driver is *calico*. Template that does not specify calico, k8s-1.23.16-v1.0.3, and is identical to the template that does specify *calico* in its name. Both are placed in the left column in the following table:
|
||||
Standard templates are general in nature and you can use them for any type of Kubernetes cluster. Each will produce a working Kubernetes cluster on 3Engines Cloud 3Engines Magnum hosting. The default network driver is *calico*. Template that does not specify calico, k8s-1.23.16-v1.0.3, and is identical to the template that does specify *calico* in its name. Both are placed in the left column in the following table:
|
||||
|
||||
| calico | cilium |
|
||||
| --- | --- |
|
||||
@ -139,7 +139,7 @@ Applications such as day trading, personal finances, AI and the similar, may hav
|
||||
In WAW3-1 cloud, virtual machine flavors with NVMe have the prefix of HMD and they are resource-intensive:
|
||||
|
||||
```
|
||||
openstack flavor list
|
||||
3Engines flavor list
|
||||
+--------------+--------+------+-----------+-------+
|
||||
| Name | RAM | Disk | Ephemeral | VCPUs |
|
||||
+--------------+--------+------+-----------+-------+
|
||||
|
||||
@ -21,7 +21,7 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **A running Kubernetes cluster and kubectl activated**
|
||||
|
||||
A Kubernetes cluster, to create one refer to: [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md). To activate **kubectl**, see [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
A Kubernetes cluster, to create one refer to: [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md). To activate **kubectl**, see [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 3 **Basic knowledge of Python and pip package management**
|
||||
|
||||
|
||||
@ -24,15 +24,15 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Kubernetes cluster deployed on** **cloud, with NGINX Ingress enabled**
|
||||
|
||||
See this article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
See this article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Familiarity with kubectl**
|
||||
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Kubernetes Ingress feature**
|
||||
|
||||
It is explained in article [Using Kubernetes Ingress on 3Engines Cloud OpenStack Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
It is explained in article [Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 5 **Familiarity with deploying Helm charts**
|
||||
|
||||
@ -299,6 +299,6 @@ If all works well, the effort is complete and after a couple of minutes we shoul
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
The article [Using Kubernetes Ingress on 3Engines Cloud OpenStack Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-OpenStack-Magnum.html.md) shows how to create an HTTP based service or a site.
|
||||
The article [Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md) shows how to create an HTTP based service or a site.
|
||||
|
||||
If you need additional information on Helm charts: [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md).
|
||||
@ -26,11 +26,11 @@ We assume you have basic understanding of Kubernetes, its notions and ways of wo
|
||||
|
||||
No. 3 **A cluster created on** **cloud**
|
||||
|
||||
For trying out Helm installation and deployment in an actual environment, create a cluster on cloud using OpenStack Magnum [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
For trying out Helm installation and deployment in an actual environment, create a cluster on cloud using 3Engines Magnum [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 4 **Active connection to the cloud**
|
||||
|
||||
For Kubernetes, that means a **kubectl** command line tool installed and **kubeconfig** pointing to a cluster. Instructions are provided in this article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
For Kubernetes, that means a **kubectl** command line tool installed and **kubeconfig** pointing to a cluster. Instructions are provided in this article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 5 **Access to Ubuntu to run code on**
|
||||
|
||||
|
||||
@ -26,9 +26,9 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Knowledge of RC files and CLI commands for Magnum**
|
||||
|
||||
You should be familiar with utilizing OpenStack CLI and Magnum CLI. Your RC file should be sourced and pointing to your project in OpenStack. See article
|
||||
You should be familiar with utilizing 3Engines CLI and Magnum CLI. Your RC file should be sourced and pointing to your project in 3Engines. See article
|
||||
|
||||
[How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
[How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
|
||||
Note
|
||||
|
||||
@ -38,11 +38,11 @@ If you are using CLI when creating vGPU nodegroups and are being authenticated w
|
||||
|
||||
No. 3 **Cluster and kubectl should be operational**
|
||||
|
||||
To connect to the cluster via **kubectl** tool, see this article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
To connect to the cluster via **kubectl** tool, see this article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 4 **Familiarity with the notion of nodegroups**
|
||||
|
||||
[Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud OpenStack Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
[Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud 3Engines Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
vGPU flavors per cloud[🔗](#vgpu-flavors-per-cloud "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------
|
||||
@ -50,7 +50,7 @@ vGPU flavors per cloud[🔗](#vgpu-flavors-per-cloud "Permalink to this headline
|
||||
Below is the list of GPU flavors in each cloud, applicable for using with Magnum Kubernetes service.
|
||||
|
||||
WAW3-1
|
||||
: WAW3-1 supports both four GPU flavors and the Kubernetes, through OpenStack Magnum.
|
||||
: WAW3-1 supports both four GPU flavors and the Kubernetes, through 3Engines Magnum.
|
||||
|
||||
> | | | | |
|
||||
> | --- | --- | --- | --- |
|
||||
@ -61,7 +61,7 @@ WAW3-1
|
||||
> | **vm.a6000.4** | 114688 | 320 | 16 |
|
||||
|
||||
WAW3-2
|
||||
: These are the vGPU flavors for WAW3-2 and Kubernetes, through OpenStack Magnum:
|
||||
: These are the vGPU flavors for WAW3-2 and Kubernetes, through 3Engines Magnum:
|
||||
|
||||
> | | | | | |
|
||||
> | --- | --- | --- | --- | --- |
|
||||
@ -72,7 +72,7 @@ WAW3-2
|
||||
> | **gpu.l40sx8** | 254 | 953.75 GB | 1000 GB | Yes |
|
||||
|
||||
FRA1-2
|
||||
: FRA1-2 Supports L40S and the Kubernetes, through OpenStack Magnum.
|
||||
: FRA1-2 Supports L40S and the Kubernetes, through 3Engines Magnum.
|
||||
|
||||
> | | | | | |
|
||||
> | --- | --- | --- | --- | --- |
|
||||
@ -109,7 +109,7 @@ Scenario 1 - Add vGPU nodes as a nodegroup on a non-GPU Kubernetes clusters crea
|
||||
In order to create a new nodegroup, called **gpu**, with one node vGPU flavor, say, **vm.a6000.2**, we can use the following Magnum CLI command:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create $CLUSTER_ID gpu \
|
||||
3Engines coe nodegroup create $CLUSTER_ID gpu \
|
||||
--labels "worker_type=gpu" \
|
||||
--merge-labels \
|
||||
--role worker \
|
||||
@ -129,7 +129,7 @@ Your request will be accepted:
|
||||
Now list the available nodegroups:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list $CLUSTER_ID_RECENT \
|
||||
3Engines coe nodegroup list $CLUSTER_ID_RECENT \
|
||||
--max-width 120
|
||||
|
||||
```
|
||||
@ -156,7 +156,7 @@ where **$MASTER\_0\_SERVER\_ID** is the ID of the **master0** VM from your clust
|
||||
> * or using a CLI command to isolate the *uuid* for the master node:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list $CLUSTER_ID_OLDER \
|
||||
3Engines coe nodegroup list $CLUSTER_ID_OLDER \
|
||||
-c uuid \
|
||||
-c name \
|
||||
-c status \
|
||||
@ -176,7 +176,7 @@ export MASTER_0_SERVER_ID="413c7486-caa9-4e12-be3b-3d9410f2d32f"
|
||||
and execute the following command to create an additional nodegroup in this scenario:
|
||||
|
||||
```
|
||||
openstack coe nodegroup create $CLUSTER_ID_OLDER gpu \
|
||||
3Engines coe nodegroup create $CLUSTER_ID_OLDER gpu \
|
||||
--labels "worker_type=gpu,existing_helm_handler_master_id=$MASTER_0_SERVER_ID" \
|
||||
--merge-labels \
|
||||
--role worker \
|
||||
@ -190,7 +190,7 @@ There may not be any space between the labels.
|
||||
The request will be accepted and after a while, a new nodegroup will be available and based on GPU flavor. List the nodegroups with the command:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list $CLUSTER_ID_OLDER --max-width 120
|
||||
3Engines coe nodegroup list $CLUSTER_ID_OLDER --max-width 120
|
||||
|
||||
```
|
||||
|
||||
@ -218,7 +218,7 @@ kubectl get namespaces
|
||||
The final command to create the required cluster is:
|
||||
|
||||
```
|
||||
openstack coe cluster create k8s-gpu-with_template \
|
||||
3Engines coe cluster create k8s-gpu-with_template \
|
||||
--cluster-template "k8s-1.23.16-vgpu-v1.0.0" \
|
||||
--keypair=$KEYPAIR \
|
||||
--master-count 1 \
|
||||
@ -353,7 +353,7 @@ In such clusters, to add an additional, non-GPU nodegroup, you will need to:
|
||||
In order to retrieve the image ID, you need to know with which template you want to use to create the new nodegroup. Out of the existing non-GPU templates, we select **k8s-1.23.16-v1.0.2** for this example. Run the following command to extract the template ID, as that will be needed for nodegroup creation:
|
||||
|
||||
```
|
||||
openstack coe cluster \
|
||||
3Engines coe cluster \
|
||||
template show k8s-1.23.16-v1.0.2 | grep image_id
|
||||
|
||||
```
|
||||
@ -367,7 +367,7 @@ We can then add the non-GPU nodegroup with the following command, in which you c
|
||||
```
|
||||
export CLUSTER_ID="k8s-gpu-with_template"
|
||||
export IMAGE_ID="42696e90-57af-4124-8e20-d017a44d6e24"
|
||||
openstack coe nodegroup create $CLUSTER_ID default \
|
||||
3Engines coe nodegroup create $CLUSTER_ID default \
|
||||
--labels "worker_type=default" \
|
||||
--merge-labels \
|
||||
--role worker \
|
||||
@ -380,7 +380,7 @@ openstack coe nodegroup create $CLUSTER_ID default \
|
||||
Then list the nodegroup contents to see whether the creation succeeded:
|
||||
|
||||
```
|
||||
openstack coe nodegroup list $CLUSTER_ID \
|
||||
3Engines coe nodegroup list $CLUSTER_ID \
|
||||
--max-width 120
|
||||
|
||||
```
|
||||
|
||||
@ -23,11 +23,11 @@ The resources that you require and use will reflect on the state of your account
|
||||
|
||||
No. 2 **Create Kubernetes cluster from Horizon GUI**
|
||||
|
||||
Know how to create a Kubernetes cluster from Horizon GUI, as described in article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
Know how to create a Kubernetes cluster from Horizon GUI, as described in article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **How to Access Kubernetes cluster post-deployment**
|
||||
|
||||
Access to Linux command line and ability to access cluster, as described in article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
Access to Linux command line and ability to access cluster, as described in article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **Handling Helm**
|
||||
|
||||
|
||||
@ -23,11 +23,11 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Kubernetes cluster**
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Access to cluster with kubectl**
|
||||
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Helm**
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ No. 3 **kubectl pointed to the Kubernetes cluster**
|
||||
|
||||
The following article gives options for creating a new cluster and activating the **kubectl** command:
|
||||
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
As mentioned, create the cluster **without** installing the NGINX ingress option.
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum[🔗](#how-to-access-kubernetes-cluster-post-deployment-using-kubectl-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum[🔗](#how-to-access-kubernetes-cluster-post-deployment-using-kubectl-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
===================================================================================================================================================================================================================================
|
||||
|
||||
In this tutorial, you start with a freshly installed Kubernetes cluster on 3Engines OpenStack server and connect the main Kubernetes tool, **kubectl** to the cloud.
|
||||
In this tutorial, you start with a freshly installed Kubernetes cluster on 3Engines 3Engines server and connect the main Kubernetes tool, **kubectl** to the cloud.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
> * How to connect **kubectl** to the OpenStack Magnum server
|
||||
> * How to connect **kubectl** to the 3Engines Magnum server
|
||||
> * How to access clusters with **kubectl**
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
@ -24,13 +24,13 @@ No. 3 **A cluster already installed on Magnum site**
|
||||
|
||||
You may already have a cluster installed if you have followed one of these articles:
|
||||
|
||||
> * With Horizon interface: [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
> * With command line interface: [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
> * With Horizon interface: [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
> * With command line interface: [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
* Or, you may want to create a new cluster called *k8s-cluster*, just for this occasion – by using the following CLI command:
|
||||
|
||||
```
|
||||
openstack coe cluster create \
|
||||
3Engines coe cluster create \
|
||||
--cluster-template k8s-stable-1.23.5 \
|
||||
--labels eodata_access_enabled=false,floating-ip-enabled=true,master-lb-enabled=true \
|
||||
--merge-labels \
|
||||
@ -49,16 +49,16 @@ It takes some 10-20 minutes for the new cluster to form.
|
||||
|
||||
In the rest of this text we shall use cluster name *k8s-cluster* – be sure to use the name of the existing cluster instead.
|
||||
|
||||
No. 4 **Connect openstack client to the cloud**
|
||||
No. 4 **Connect 3Engines client to the cloud**
|
||||
|
||||
Prepare **openstack** and **magnum** clients by executing *Step 2 Connect OpenStack and Magnum Clients to Horizon Cloud* from article [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
Prepare **3Engines** and **magnum** clients by executing *Step 2 Connect 3Engines and Magnum Clients to Horizon Cloud* from article [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
|
||||
The Plan[🔗](#the-plan "Permalink to this headline")
|
||||
---------------------------------------------------
|
||||
|
||||
> * Follow up the steps listed in Prerequisite No. 2 and install **kubectl** on the platform of your choice.
|
||||
> * Use the existing Kubernetes cluster on 3Engines or install a new one using the methods outlined in Prerequisites Nos. 3.
|
||||
> * Use Step 2 in Prerequisite No. 4 to enable connection of **openstack** and **magnum** clients to the cloud.
|
||||
> * Use Step 2 in Prerequisite No. 4 to enable connection of **3Engines** and **magnum** clients to the cloud.
|
||||
|
||||
You are then going to connect **kubectl** to the Cloud.
|
||||
|
||||
@ -96,15 +96,15 @@ Step 2A Download Certificates From the Server using the CLI commands[🔗](#step
|
||||
You will use command
|
||||
|
||||
```
|
||||
openstack coe cluster config
|
||||
3Engines coe cluster config
|
||||
|
||||
```
|
||||
|
||||
to download the files that **kubectl** needs for authentication with the server. See its input parameters using the **–help** parameter:
|
||||
|
||||
```
|
||||
openstack coe cluster config --help
|
||||
usage: openstack coe cluster config [-h]
|
||||
3Engines coe cluster config --help
|
||||
usage: 3Engines coe cluster config [-h]
|
||||
[--dir <dir>] [--force] [--output-certs]
|
||||
[--use-certificate] [--use-keystone]
|
||||
<cluster>
|
||||
@ -127,7 +127,7 @@ optional arguments:
|
||||
Download the certificates into the *k8sdir* folder:
|
||||
|
||||
```
|
||||
openstack coe cluster config \
|
||||
3Engines coe cluster config \
|
||||
--dir k8sdir \
|
||||
--force \
|
||||
--output-certs \
|
||||
@ -232,4 +232,4 @@ With **kubectl** operational, you can
|
||||
> * list container images in the cluster
|
||||
> * use Services, Deployments and all other resources in a Kubernetes cluster.
|
||||
|
||||
Kubernetes dashboard is a visual alternative to **kubectl**. To install it, see [Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud OpenStack Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
Kubernetes dashboard is a visual alternative to **kubectl**. To install it, see [Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud 3Engines Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
How To Create API Server LoadBalancer for Kubernetes Cluster on 3Engines Cloud OpenStack Magnum[🔗](#how-to-create-api-server-loadbalancer-for-kubernetes-cluster-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
How To Create API Server LoadBalancer for Kubernetes Cluster on 3Engines Cloud 3Engines Magnum[🔗](#how-to-create-api-server-loadbalancer-for-kubernetes-cluster-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================================================================
|
||||
|
||||
Load balancer can be understood both as
|
||||
@ -25,22 +25,22 @@ No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://horizon.3Engines.com>.
|
||||
|
||||
No. 2 **Installation of the openstack command**
|
||||
No. 2 **Installation of the 3Engines command**
|
||||
|
||||
To activate **kubectl** command, the openstack command from CLI OpenStack Interface must be operational. The first part of article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) shows how to install it.
|
||||
To activate **kubectl** command, the 3Engines command from CLI 3Engines Interface must be operational. The first part of article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) shows how to install it.
|
||||
|
||||
No. 3 **How to create Kubernetes cluster using Horizon commands**
|
||||
|
||||
The article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md) shows creation of clusters with Horizon visual interface. (In this article, you shall use it to create an exemplar cluster called *NoLoadBalancer*.)
|
||||
The article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md) shows creation of clusters with Horizon visual interface. (In this article, you shall use it to create an exemplar cluster called *NoLoadBalancer*.)
|
||||
|
||||
No. 4 **Connect to the Kubernetes Cluster in Order to Use kubectl**
|
||||
|
||||
Article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md) will show you how to connect your local machine to the existing Kubernetes cluster.
|
||||
Article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md) will show you how to connect your local machine to the existing Kubernetes cluster.
|
||||
|
||||
How To Enable or Disable Load Balancer for Master Nodes[🔗](#how-to-enable-or-disable-load-balancer-for-master-nodes "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
A default state for the Kubernetes cluster in 3Engines Cloud OpenStack Magnum hosting is to have no load balancer set up in advance. You can decide to have a load balancer created together with the basic Kubernetes cluster by checking on option **Enable Load Balancer for Master Nodes** in window **Network** when creating a cluster through Horizon interface. (See **Prerequisite No. 3** for the complete procedure.)
|
||||
A default state for the Kubernetes cluster in 3Engines Cloud 3Engines Magnum hosting is to have no load balancer set up in advance. You can decide to have a load balancer created together with the basic Kubernetes cluster by checking on option **Enable Load Balancer for Master Nodes** in window **Network** when creating a cluster through Horizon interface. (See **Prerequisite No. 3** for the complete procedure.)
|
||||
|
||||
The check box to enable load balancer for master nodes has two completely different meanings when checked and not checked.
|
||||
|
||||
@ -63,8 +63,8 @@ One Master Node, No Load Balancer and the Problem It All Creates[🔗](#one-mast
|
||||
|
||||
To show exactly what the problem is, use
|
||||
|
||||
> * Prerequisite No. 2 to install openstack client for the local machine, so that you can use the **openstack** command.
|
||||
> * Then use Prerequisite No. 4 to connect to the OpenStack cloud and start using **openstack** command from the local terminal.
|
||||
> * Prerequisite No. 2 to install 3Engines client for the local machine, so that you can use the **3Engines** command.
|
||||
> * Then use Prerequisite No. 4 to connect to the 3Engines cloud and start using **3Engines** command from the local terminal.
|
||||
|
||||
Then you can try a very usual command such as
|
||||
|
||||
@ -132,7 +132,7 @@ Step 3 **Create config File for Kubernetes Cluster**[🔗](#step-3-create-config
|
||||
You are now going to connect to *NoLoadBalancer* cluster in spite of it not having a load balancer from the very start. To that end, create a config file to connect to the cluster, with the following command:
|
||||
|
||||
```
|
||||
openstack coe cluster config NoLoadBalancer --force
|
||||
3Engines coe cluster config NoLoadBalancer --force
|
||||
|
||||
```
|
||||
|
||||
@ -0,0 +1,196 @@
|
||||
How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon[🔗](#how-to-install-3Engines-and-magnum-clients-for-command-line-interface-to-brand-name-horizon "Permalink to this headline")
|
||||
=================================================================================================================================================================================================================================
|
||||
|
||||
How To Issue Commands to the 3Engines and Magnum Servers[🔗](#how-to-issue-commands-to-the-3Engines-and-magnum-servers "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
There are three ways of working with Kubernetes clusters within 3Engines Magnum and Horizon modules:
|
||||
|
||||
**Horizon Commands**
|
||||
|
||||
You issue Horizon commands using mouse and keyboard, through predefined screen wizards. It is the easiest way to start but not the most productive in the long run.
|
||||
|
||||
**Command Line Interface (CLI)**
|
||||
|
||||
CLI commands are issued from desktop computer or server in the cloud. This approach allows you to save commands as text and repeat them afterwards. This is the preferred way for professionals.
|
||||
|
||||
**HTTPS Requests to the Magnum Server**
|
||||
|
||||
Both the Horizon and the CLI use HTTPS requests internally and in an interactive manner. You can, however, write your own software to automate and/or change the state of the server, in real time.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
> * How to install the CLI – 3Engines and Magnum clients
|
||||
> * How to connect the CLI to the Horizon server
|
||||
> * Basic examples of using 3Engines and Magnum clients
|
||||
|
||||
Notes On Python Versions and Environments for Installation[🔗](#notes-on-python-versions-and-environments-for-installation "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
3Engines is written in Python so you need to first install a Python working environment and then install the 3Engines clients. Officially, 3Engines runs only on Python 2.7 but you will most likely only be able to install a version 3.x of Python. During the installation, adjust accordingly the numbers of Python versions mentioned in the documentation.
|
||||
|
||||
You will be able to install Python on any of the popular platforms, such as Windows, MacOS, Linux on a desktop computer. Or, supposing you are logged into Horizon interface, you can use commands **Compute** => **Instances** to create an instance of a virtual machine. Then install the Python there. Ubuntu 18.04 or 20.04 would serve best in this regard.
|
||||
|
||||
Warning
|
||||
|
||||
Once you install Kubernetes cluster you will have also have installed instances with Fedora 33 or 35, say, for the master node of the control plane. You can install the Python and 3Engines clients there as well but Ubuntu is much easier to use and is the preferred solution in this case.
|
||||
|
||||
You can install the Python and the clients on several environments at once, say, on a desktop computer and on a virtual machine on the server, at the same time. Following the instructions in this tutorial, they will all be connected to one and the same Kubernetes cluster anyway.
|
||||
|
||||
Note
|
||||
|
||||
If you decide to install Python and the 3Engines clients on a virtual machine, you will need SSH keys in order to be able to enter the working environment. See [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md).
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://horizon.3Engines.com>.
|
||||
|
||||
No. 2 **Installation of 3Engines CLI on Ubuntu 20.04 Server**
|
||||
|
||||
The article [How to install 3EnginesClient for Linux on 3Engines Cloud](../3Enginescli/How-to-install-3EnginesClient-for-Linux-on-3Engines-Cloud.html.md) shows how to install 3Engines client on Ubuntu server. That Ubuntu may be the desktop operating system, a virtual machine on some other operating system, or an Ubuntu server in the cloud.
|
||||
|
||||
Installation on Mac OS will be similar to the installation on Ubuntu.
|
||||
|
||||
No. 3 **Installation of 3Engines CLI on Windows**
|
||||
|
||||
The article [How to install 3EnginesClient GitBash for Windows on 3Engines Cloud](../3Enginescli/How-to-install-3EnginesClient-GitBash-or-Cygwin-for-Windows-on-3Engines-Cloud.html.md) shows installation on Windows.
|
||||
|
||||
No. 4 **General Instructions for Installation of 3Engines Clients**
|
||||
|
||||
There are various ways of installing Python and the required clients. For instance, on MacOS, you can install the clients using Python PIP or install them natively, using *homebrew*.
|
||||
|
||||
The article [Install the 3Engines command-line clients](https://docs.3Engines.org/newton/user-guide/common/cli-install-3Engines-command-line-clients.html.md) will give a systematic introduction to installation of 3Engines family of clients on various operating systems.
|
||||
|
||||
Once installed, the CLI commands will be identical across various platforms and operating systems.
|
||||
|
||||
No. 5 **Connect 3Engines command to the cloud**
|
||||
|
||||
After the successful installation of **3Engines** command, it should be connected to the cloud. Follow this article for technical details: [How to activate 3Engines CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-3Engines-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md).
|
||||
|
||||
Step 1 Install the CLI for Kubernetes on 3Engines Magnum[🔗](#step-1-install-the-cli-for-kubernetes-on-3Engines-magnum "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to install clients for commands **3Engines** and **coe**, from modules 3Engines and Magnum, respectively.
|
||||
|
||||
Follow the Prerequisites Nos. 2, 3 or 4 to install the main client for 3Engines. Its name is *python-3Enginesclient* and the installation described in those will typically contain a command such as
|
||||
|
||||
```
|
||||
pip install python-3Enginesclient
|
||||
|
||||
```
|
||||
|
||||
If you have installed 3EnginesClient using those prerequisite resources, we shall assume that the **3Engines** is available and connected to the cloud.
|
||||
|
||||
At the end of installation from either of the prerequisite articles, install Magnum client by issuing this command:
|
||||
|
||||
```
|
||||
pip install python-magnumclient
|
||||
|
||||
```
|
||||
|
||||
Step 2 How to Use the 3Engines Client[🔗](#step-2-how-to-use-the-3Engines-client "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to start using the 3Engines client you have installed and connected to the cloud.
|
||||
|
||||
There are two ways of using the 3EnginesClient. If you enter the word **3Engines** at the command prompt of the terminal, you will enter the special command line interface, like this:
|
||||
|
||||

|
||||
|
||||
The benefit would be that you do not have to type **3Engines** keyword for every command.
|
||||
|
||||
Type **quit** to leave the **3Engines** internal command line prompt.
|
||||
|
||||
The preferred way, however, is typing the keyword **3Engines**, followed by parameters and running from terminal command line.
|
||||
|
||||
3Engines commands may have dozens of parameters so it is better to compose the command in an independent text editor and then copy and paste it into the terminal.
|
||||
|
||||
The Help Command[🔗](#the-help-command "Permalink to this headline")
|
||||
-------------------------------------------------------------------
|
||||
|
||||
To learn about the available commands and their parameters, type **–help** after the command. If applied to the keyword **3Engines** itself, it will write out a very long list of commands, which may come useful as an orientation. It may start out like this:
|
||||
|
||||

|
||||
|
||||
This is how it ends:
|
||||
|
||||

|
||||
|
||||
The colon in the last line means that the output is in **vi** (or **vim**) editor. To leave it, type letter **q** and press Enter on the keyboard.
|
||||
|
||||
Prerequisites No. 3 and 4 lead to official 3Engines user documentation.
|
||||
|
||||
Here is what happens when you enter a wrong parameter, say, *networks* instead of *network*:
|
||||
|
||||
```
|
||||
3Engines networks list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
You get a list of commands similar to what you just typed.
|
||||
|
||||
To list networks available in the system, use a singular version of the command:
|
||||
|
||||
```
|
||||
3Engines network list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
Step 4 How to Use the Magnum Client[🔗](#step-4-how-to-use-the-magnum-client "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------
|
||||
|
||||
OpensStack command for the server is **3Engines** but for Magnum, the command is not **magnum** as one would expect, but **coe**, for *container orchestration engine*. Therefore, the commands for clusters will always start with **3Engines coe**.
|
||||
|
||||
See cluster commands by entering
|
||||
|
||||
```
|
||||
3Engines coe
|
||||
|
||||
```
|
||||
|
||||
into the command line:
|
||||
|
||||

|
||||
|
||||
You can see the existing clusters using the following command:
|
||||
|
||||
```
|
||||
3Engines coe cluster list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
This is more or less the same information that you can get from the Horizon interface:
|
||||
|
||||

|
||||
|
||||
after clicking on **Container Infra** => **Clusters**.
|
||||
|
||||
Prerequisite No. 5 offers more technical info about the Magnum client.
|
||||
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
In this tutorial you have
|
||||
|
||||
> * installed the *3Engines* and *Magnum* clients
|
||||
> * connected them to the server, then used
|
||||
> * **3Engines** command to access the server in general and
|
||||
> * **coe** to access the clusters in particular.
|
||||
|
||||
> The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) explains
|
||||
|
||||
* the advantages of using the CLI instead of Horizon interface, showing
|
||||
* how to create a cluster template as well as
|
||||
* how to create a new cluster
|
||||
|
||||
all via the CLI.
|
||||
@ -1,196 +0,0 @@
|
||||
How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon[🔗](#how-to-install-openstack-and-magnum-clients-for-command-line-interface-to-brand-name-horizon "Permalink to this headline")
|
||||
=================================================================================================================================================================================================================================
|
||||
|
||||
How To Issue Commands to the OpenStack and Magnum Servers[🔗](#how-to-issue-commands-to-the-openstack-and-magnum-servers "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
There are three ways of working with Kubernetes clusters within Openstack Magnum and Horizon modules:
|
||||
|
||||
**Horizon Commands**
|
||||
|
||||
You issue Horizon commands using mouse and keyboard, through predefined screen wizards. It is the easiest way to start but not the most productive in the long run.
|
||||
|
||||
**Command Line Interface (CLI)**
|
||||
|
||||
CLI commands are issued from desktop computer or server in the cloud. This approach allows you to save commands as text and repeat them afterwards. This is the preferred way for professionals.
|
||||
|
||||
**HTTPS Requests to the Magnum Server**
|
||||
|
||||
Both the Horizon and the CLI use HTTPS requests internally and in an interactive manner. You can, however, write your own software to automate and/or change the state of the server, in real time.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
> * How to install the CLI – OpenStack and Magnum clients
|
||||
> * How to connect the CLI to the Horizon server
|
||||
> * Basic examples of using OpenStack and Magnum clients
|
||||
|
||||
Notes On Python Versions and Environments for Installation[🔗](#notes-on-python-versions-and-environments-for-installation "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
OpenStack is written in Python so you need to first install a Python working environment and then install the OpenStack clients. Officially, OpenStack runs only on Python 2.7 but you will most likely only be able to install a version 3.x of Python. During the installation, adjust accordingly the numbers of Python versions mentioned in the documentation.
|
||||
|
||||
You will be able to install Python on any of the popular platforms, such as Windows, MacOS, Linux on a desktop computer. Or, supposing you are logged into Horizon interface, you can use commands **Compute** => **Instances** to create an instance of a virtual machine. Then install the Python there. Ubuntu 18.04 or 20.04 would serve best in this regard.
|
||||
|
||||
Warning
|
||||
|
||||
Once you install Kubernetes cluster you will have also have installed instances with Fedora 33 or 35, say, for the master node of the control plane. You can install the Python and OpenStack clients there as well but Ubuntu is much easier to use and is the preferred solution in this case.
|
||||
|
||||
You can install the Python and the clients on several environments at once, say, on a desktop computer and on a virtual machine on the server, at the same time. Following the instructions in this tutorial, they will all be connected to one and the same Kubernetes cluster anyway.
|
||||
|
||||
Note
|
||||
|
||||
If you decide to install Python and the OpenStack clients on a virtual machine, you will need SSH keys in order to be able to enter the working environment. See [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md).
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://horizon.3Engines.com>.
|
||||
|
||||
No. 2 **Installation of OpenStack CLI on Ubuntu 20.04 Server**
|
||||
|
||||
The article [How to install OpenStackClient for Linux on 3Engines Cloud](../openstackcli/How-to-install-OpenStackClient-for-Linux-on-3Engines-Cloud.html.md) shows how to install OpenStack client on Ubuntu server. That Ubuntu may be the desktop operating system, a virtual machine on some other operating system, or an Ubuntu server in the cloud.
|
||||
|
||||
Installation on Mac OS will be similar to the installation on Ubuntu.
|
||||
|
||||
No. 3 **Installation of OpenStack CLI on Windows**
|
||||
|
||||
The article [How to install OpenStackClient GitBash for Windows on 3Engines Cloud](../openstackcli/How-to-install-OpenStackClient-GitBash-or-Cygwin-for-Windows-on-3Engines-Cloud.html.md) shows installation on Windows.
|
||||
|
||||
No. 4 **General Instructions for Installation of OpenStack Clients**
|
||||
|
||||
There are various ways of installing Python and the required clients. For instance, on MacOS, you can install the clients using Python PIP or install them natively, using *homebrew*.
|
||||
|
||||
The article [Install the OpenStack command-line clients](https://docs.openstack.org/newton/user-guide/common/cli-install-openstack-command-line-clients.html.md) will give a systematic introduction to installation of OpenStack family of clients on various operating systems.
|
||||
|
||||
Once installed, the CLI commands will be identical across various platforms and operating systems.
|
||||
|
||||
No. 5 **Connect openstack command to the cloud**
|
||||
|
||||
After the successful installation of **openstack** command, it should be connected to the cloud. Follow this article for technical details: [How to activate OpenStack CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-OpenStack-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md).
|
||||
|
||||
Step 1 Install the CLI for Kubernetes on OpenStack Magnum[🔗](#step-1-install-the-cli-for-kubernetes-on-openstack-magnum "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to install clients for commands **openstack** and **coe**, from modules OpenStack and Magnum, respectively.
|
||||
|
||||
Follow the Prerequisites Nos. 2, 3 or 4 to install the main client for OpenStack. Its name is *python-openstackclient* and the installation described in those will typically contain a command such as
|
||||
|
||||
```
|
||||
pip install python-openstackclient
|
||||
|
||||
```
|
||||
|
||||
If you have installed OpenStackClient using those prerequisite resources, we shall assume that the **openstack** is available and connected to the cloud.
|
||||
|
||||
At the end of installation from either of the prerequisite articles, install Magnum client by issuing this command:
|
||||
|
||||
```
|
||||
pip install python-magnumclient
|
||||
|
||||
```
|
||||
|
||||
Step 2 How to Use the OpenStack Client[🔗](#step-2-how-to-use-the-openstack-client "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to start using the OpenStack client you have installed and connected to the cloud.
|
||||
|
||||
There are two ways of using the OpenStackClient. If you enter the word **openstack** at the command prompt of the terminal, you will enter the special command line interface, like this:
|
||||
|
||||

|
||||
|
||||
The benefit would be that you do not have to type **openstack** keyword for every command.
|
||||
|
||||
Type **quit** to leave the **openstack** internal command line prompt.
|
||||
|
||||
The preferred way, however, is typing the keyword **openstack**, followed by parameters and running from terminal command line.
|
||||
|
||||
Openstack commands may have dozens of parameters so it is better to compose the command in an independent text editor and then copy and paste it into the terminal.
|
||||
|
||||
The Help Command[🔗](#the-help-command "Permalink to this headline")
|
||||
-------------------------------------------------------------------
|
||||
|
||||
To learn about the available commands and their parameters, type **–help** after the command. If applied to the keyword **openstack** itself, it will write out a very long list of commands, which may come useful as an orientation. It may start out like this:
|
||||
|
||||

|
||||
|
||||
This is how it ends:
|
||||
|
||||

|
||||
|
||||
The colon in the last line means that the output is in **vi** (or **vim**) editor. To leave it, type letter **q** and press Enter on the keyboard.
|
||||
|
||||
Prerequisites No. 3 and 4 lead to official OpenStack user documentation.
|
||||
|
||||
Here is what happens when you enter a wrong parameter, say, *networks* instead of *network*:
|
||||
|
||||
```
|
||||
openstack networks list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
You get a list of commands similar to what you just typed.
|
||||
|
||||
To list networks available in the system, use a singular version of the command:
|
||||
|
||||
```
|
||||
openstack network list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
Step 4 How to Use the Magnum Client[🔗](#step-4-how-to-use-the-magnum-client "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------
|
||||
|
||||
OpensStack command for the server is **openstack** but for Magnum, the command is not **magnum** as one would expect, but **coe**, for *container orchestration engine*. Therefore, the commands for clusters will always start with **openstack coe**.
|
||||
|
||||
See cluster commands by entering
|
||||
|
||||
```
|
||||
openstack coe
|
||||
|
||||
```
|
||||
|
||||
into the command line:
|
||||
|
||||

|
||||
|
||||
You can see the existing clusters using the following command:
|
||||
|
||||
```
|
||||
openstack coe cluster list
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
This is more or less the same information that you can get from the Horizon interface:
|
||||
|
||||

|
||||
|
||||
after clicking on **Container Infra** => **Clusters**.
|
||||
|
||||
Prerequisite No. 5 offers more technical info about the Magnum client.
|
||||
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
In this tutorial you have
|
||||
|
||||
> * installed the *OpenStack* and *Magnum* clients
|
||||
> * connected them to the server, then used
|
||||
> * **openstack** command to access the server in general and
|
||||
> * **coe** to access the clusters in particular.
|
||||
|
||||
> The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) explains
|
||||
|
||||
* the advantages of using the CLI instead of Horizon interface, showing
|
||||
* how to create a cluster template as well as
|
||||
* how to create a new cluster
|
||||
|
||||
all via the CLI.
|
||||
@ -1,13 +1,13 @@
|
||||
How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum[🔗](#how-to-use-command-line-interface-for-kubernetes-clusters-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum[🔗](#how-to-use-command-line-interface-for-kubernetes-clusters-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
=========================================================================================================================================================================================================================
|
||||
|
||||
In this article you shall use Command Line Interface (CLI) to speed up testing and creation of Kubernetes clusters on OpenStack Magnum servers.
|
||||
In this article you shall use Command Line Interface (CLI) to speed up testing and creation of Kubernetes clusters on 3Engines Magnum servers.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
> * The advantages of using CLI over the Horizon graphical interface
|
||||
> * Debugging OpenStack and Magnum commands
|
||||
> * Debugging 3Engines and Magnum commands
|
||||
> * How to create a new Kubernetes cluster template using CLI
|
||||
> * How to create a new Kubernetes cluster using CLI
|
||||
> * Reasons why the cluster may fail to create
|
||||
@ -22,29 +22,29 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Private and public keys**
|
||||
|
||||
An SSH key-pair created in OpenStack dashboard. To create it, follow this article [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md). You will have created keypair called *sshkey* and you will be able to use it for this tutorial as well.
|
||||
An SSH key-pair created in 3Engines dashboard. To create it, follow this article [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md). You will have created keypair called *sshkey* and you will be able to use it for this tutorial as well.
|
||||
|
||||
No. 3 **Command Structure of OpenStack Client Commands**
|
||||
No. 3 **Command Structure of 3Engines Client Commands**
|
||||
|
||||
Here is the manual for OpenStackClient commands: [Command Structure Xena version](https://docs.openstack.org/python-openstackclient/xena/cli/commands.html.md).
|
||||
Here is the manual for 3EnginesClient commands: [Command Structure Xena version](https://docs.3Engines.org/python-3Enginesclient/xena/cli/commands.html.md).
|
||||
|
||||
No. 4 **Command List of OpenStack Client Commands**
|
||||
No. 4 **Command List of 3Engines Client Commands**
|
||||
|
||||
These are all the commands supported by Xena release of OpenStackClient: [Xena Command List](https://docs.openstack.org/python-openstackclient/xena/cli/command-list.html.md).
|
||||
These are all the commands supported by Xena release of 3EnginesClient: [Xena Command List](https://docs.3Engines.org/python-3Enginesclient/xena/cli/command-list.html.md).
|
||||
|
||||
No. 5 **Documentation for Magnum client**
|
||||
|
||||
These are all the commands supported by Xena release of MagnumClient: [Magnum User Guide](https://docs.openstack.org/magnum/latest/user/).
|
||||
These are all the commands supported by Xena release of MagnumClient: [Magnum User Guide](https://docs.3Engines.org/magnum/latest/user/).
|
||||
|
||||
No. 6 **How to install OpenStack and Magnum Clients**
|
||||
No. 6 **How to install 3Engines and Magnum Clients**
|
||||
|
||||
The step that directly precedes this article is: [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
The step that directly precedes this article is: [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md).
|
||||
|
||||
In that guide, you have installed the CLI and in this tutorial, you are going to use it to work with Kubernetes on OpenStack Magnum.
|
||||
In that guide, you have installed the CLI and in this tutorial, you are going to use it to work with Kubernetes on 3Engines Magnum.
|
||||
|
||||
No. 7 **Autohealing of Kubernetes Clusters**
|
||||
|
||||
To learn more about autohealing of Kubernetes clusters, follow this official article [What is Magnum Autohealer?](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/magnum-auto-healer/using-magnum-auto-healer.md).
|
||||
To learn more about autohealing of Kubernetes clusters, follow this official article [What is Magnum Autohealer?](https://github.com/kubernetes/cloud-provider-3Engines/blob/master/docs/magnum-auto-healer/using-magnum-auto-healer.md).
|
||||
|
||||
The Advantages of Using the CLI[🔗](#the-advantages-of-using-the-cli "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
@ -56,7 +56,7 @@ You can use the CLI and Horizon interface interchangeably, but there are at leas
|
||||
Here is a command to list flavors in the system
|
||||
|
||||
```
|
||||
openstack flavor list
|
||||
3Engines flavor list
|
||||
|
||||
```
|
||||
|
||||
@ -81,7 +81,7 @@ You can use available automation. The result of the following Ubuntu pipeline is
|
||||
There are two commands pipelined into one:
|
||||
|
||||
```
|
||||
KUBERNETES_URL=$(openstack coe cluster show k8s-cluster
|
||||
KUBERNETES_URL=$(3Engines coe cluster show k8s-cluster
|
||||
| awk '/ api_address /{print $4}')
|
||||
|
||||
```
|
||||
@ -89,7 +89,7 @@ KUBERNETES_URL=$(openstack coe cluster show k8s-cluster
|
||||
The result of the first command
|
||||
|
||||
```
|
||||
openstack coe cluster show k8s-cluster
|
||||
3Engines coe cluster show k8s-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -106,37 +106,37 @@ awk '/ api_address /{print $4}')
|
||||
|
||||
is searching for the line starting with *api\_address* and extracting its value *https://64.225.132.135:6443*. The final result is exported to the system variable KUBERNETES\_URL, thus automatically setting it up for use by Kubernetes cluster command **kubectl** when accessing the cloud.
|
||||
|
||||
### CLI Yields Access to All of the Existing OpenStack and Magnum Parameters[🔗](#cli-yields-access-to-all-of-the-existing-openstack-and-magnum-parameters "Permalink to this headline")
|
||||
### CLI Yields Access to All of the Existing 3Engines and Magnum Parameters[🔗](#cli-yields-access-to-all-of-the-existing-3Engines-and-magnum-parameters "Permalink to this headline")
|
||||
|
||||
CLI commands offer access to a larger set of parameters than is available through Horizon. For instance, in Horizon, the default length of time allowed for creation of a cluster is 60 minutes while in CLI, you can set it to other values of choice.
|
||||
|
||||
### Debugging OpenStack and Magnum Commands[🔗](#debugging-openstack-and-magnum-commands "Permalink to this headline")
|
||||
### Debugging 3Engines and Magnum Commands[🔗](#debugging-3Engines-and-magnum-commands "Permalink to this headline")
|
||||
|
||||
To see what is actually happening behind the scenes, when executing client commands, add parameter **–debug**:
|
||||
|
||||
```
|
||||
openstack coe cluster list --debug
|
||||
3Engines coe cluster list --debug
|
||||
|
||||
```
|
||||
|
||||
The output will be several screens long, consisting of GET and POST web calls, with dozens of parameters shown on screen. (The output is too voluminous to reproduce here.)
|
||||
|
||||
How to Enter OpenStack Commands[🔗](#how-to-enter-openstack-commands "Permalink to this headline")
|
||||
How to Enter 3Engines Commands[🔗](#how-to-enter-3Engines-commands "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
|
||||
Note
|
||||
|
||||
In the forthcoming example, a version **fedora-coreos-34.20210904.3.0** of fedora images is used. As the system is updated in time, the actual values may become different, for instance, any of values **fedora-coreos-35** or **fedora-coreos-33.20210426.3.0**. Use Horizon command Compute -> Images to see what images of fedora are currently available, then edit and replace as needed.
|
||||
|
||||
There are several ways to write down and enter Openstack commands into the terminal command line interface.
|
||||
There are several ways to write down and enter 3Engines commands into the terminal command line interface.
|
||||
|
||||
One way is to enter command **openstack** and press *Enter* on the keyboard. You enter the line mode of the **openstack** command and can enter rows of various openstack parameters line after line. This is stricly for manual data entry and is difficult to automate.
|
||||
One way is to enter command **3Engines** and press *Enter* on the keyboard. You enter the line mode of the **3Engines** command and can enter rows of various 3Engines parameters line after line. This is stricly for manual data entry and is difficult to automate.
|
||||
|
||||

|
||||

|
||||
|
||||
Type **quit** and press *Enter* on keyboard to leave that mode.
|
||||
|
||||
The usual way of entering **openstack** parameters is in one long line. Leave spaces between parameters but enter label values *without* any spaces inbetween. An example may be:
|
||||
The usual way of entering **3Engines** parameters is in one long line. Leave spaces between parameters but enter label values *without* any spaces inbetween. An example may be:
|
||||
|
||||

|
||||
|
||||
@ -145,7 +145,7 @@ The line breaks and blanks have to be eradicated manually in this case.
|
||||
A more elegant way is to use backslash character, **\**, in line text. The character after backslash will not be taken into account so if you enter it at the very end of the line, the EOL character will be avoided and the first and the second line will be treated as one continuous line. That is exactly what you want, so here is what an entry line could look like with this approach:
|
||||
|
||||
```
|
||||
openstack coe cluster template create kubecluster \
|
||||
3Engines coe cluster template create kubecluster \
|
||||
--image "fedora-coreos-34.20210904.3.0" \
|
||||
--external-network external \
|
||||
--master-flavor eo1.large \
|
||||
@ -183,7 +183,7 @@ Warning
|
||||
If you are new to Kubernetes please, at first, create clusters only directly using the default cluster template.
|
||||
Once you get more experience, you can start creating your own cluster templates and here is how to do it using CLI.
|
||||
|
||||
OpenStack Command for Creation of Cluster[🔗](#openstack-command-for-creation-of-cluster "Permalink to this headline")
|
||||
3Engines Command for Creation of Cluster[🔗](#3Engines-command-for-creation-of-cluster "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step you can create a new cluster using either the default cluster template or any of the templates that you have already created.
|
||||
@ -191,14 +191,14 @@ In this step you can create a new cluster using either the default cluster templ
|
||||
Enter
|
||||
|
||||
```
|
||||
openstack coe cluster create -h
|
||||
3Engines coe cluster create -h
|
||||
|
||||
```
|
||||
|
||||
to see the parameters. Provide all or almost all of the required parameters.
|
||||
|
||||
```
|
||||
usage: openstack coe cluster create
|
||||
usage: 3Engines coe cluster create
|
||||
[-h]
|
||||
--cluster-template <cluster-template>
|
||||
[--discovery-url <discovery-url>]
|
||||
@ -217,7 +217,7 @@ usage: openstack coe cluster create
|
||||
Here is what one such command might actually look like:
|
||||
|
||||
```
|
||||
openstack coe cluster create
|
||||
3Engines coe cluster create
|
||||
--cluster-template k8s-stable-1.23.5
|
||||
--docker-volume-size 50
|
||||
--labels eodata_access_enabled=false,floating-ip-enabled=true,
|
||||
@ -242,7 +242,7 @@ Here are some special labels the functionality of which is only available throug
|
||||
|
||||
Note
|
||||
|
||||
**Prerequisite No. 6** will show you how to enable command line interface with your cloud server. **Prerequisite No. 7** will give you a formal introduction to the notion of Kubernetes autohealing, as implemented in OpenStack Magnum.
|
||||
**Prerequisite No. 6** will show you how to enable command line interface with your cloud server. **Prerequisite No. 7** will give you a formal introduction to the notion of Kubernetes autohealing, as implemented in 3Engines Magnum.
|
||||
|
||||
The only way to have auto healing turned on and guarantee at the same time that the cluster will be formed normally, is to set up the following label:
|
||||
|
||||
@ -257,11 +257,11 @@ Do not include the above label if you want to create a cluster that does not use
|
||||
|
||||
Here is a variation of the CLI command to generate a cluster. It will use medium values instead of large for flavors, will have only one master and one worker node, will have auto healing turned on etc.
|
||||
|
||||
**openstack coe cluster create –cluster-template k8s-stable-1.23.5 –labels floating-ip-enabled=true,master-lb-enabled=true,auto\_healing\_enabled=true –merge-labels –keypair sshkey –master-count 1 –node-count 1 –master-flavor eo1.medium –flavor eo1.medium newcluster**
|
||||
**3Engines coe cluster create –cluster-template k8s-stable-1.23.5 –labels floating-ip-enabled=true,master-lb-enabled=true,auto\_healing\_enabled=true –merge-labels –keypair sshkey –master-count 1 –node-count 1 –master-flavor eo1.medium –flavor eo1.medium newcluster**
|
||||
|
||||
**Execute the command for creation of a cluster**
|
||||
|
||||
Copy and paste the above command into the terminal where OpenStack and Magnum clients are active:
|
||||
Copy and paste the above command into the terminal where 3Engines and Magnum clients are active:
|
||||
|
||||

|
||||
|
||||
@ -271,7 +271,7 @@ How To Check Upon the Status of the Cluster[🔗](#how-to-check-upon-the-status-
|
||||
The command to show the status of clusters is
|
||||
|
||||
```
|
||||
openstack coe cluster list
|
||||
3Engines coe cluster list
|
||||
|
||||
```
|
||||
|
||||
@ -288,7 +288,7 @@ Resource CREATE failed: OverQuotaClient: resources.secgroup_kube_master: Quota e
|
||||
The quota for the security group rules was exceeded. To verify, execute this command:
|
||||
|
||||
```
|
||||
openstack quota show --default
|
||||
3Engines quota show --default
|
||||
|
||||
```
|
||||
|
||||
@ -325,7 +325,7 @@ CLI Commands to Delete a Cluster[🔗](#cli-commands-to-delete-a-cluster "Permal
|
||||
If the cluster failed to create, it is still taking up system resources. Delete it with command such as
|
||||
|
||||
```
|
||||
openstack coe cluster delete
|
||||
3Engines coe cluster delete
|
||||
|
||||
```
|
||||
|
||||
@ -334,14 +334,14 @@ List the clusters and you will first see that the status is DELETE\_IN\_PROGRESS
|
||||
Now try to delete cluster *largecluster*. There are two of them, so putting up a command such as
|
||||
|
||||
```
|
||||
openstack coe cluster delete largecluster
|
||||
3Engines coe cluster delete largecluster
|
||||
|
||||
```
|
||||
|
||||
will not be accepted. Instead of the name, enter the *uuid* value:
|
||||
|
||||
```
|
||||
openstack coe cluster delete e80c5815-d20b-4a2b-8588-49cf7a7e1aad
|
||||
3Engines coe cluster delete e80c5815-d20b-4a2b-8588-49cf7a7e1aad
|
||||
|
||||
```
|
||||
|
||||
@ -350,7 +350,7 @@ Again, the request will be accepted and then after a minute or two, the required
|
||||
Now there is only one *largecluster* so this will work:
|
||||
|
||||
```
|
||||
openstack coe cluster delete largecluster
|
||||
3Engines coe cluster delete largecluster
|
||||
|
||||
```
|
||||
|
||||
@ -365,4 +365,4 @@ What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
|
||||
In this tutorial, you have used the CLI commands to generate cluster templates as well as clusters themselves. Also, if the cluster process failed, how to free up the system resources and try again.
|
||||
|
||||
OpenStack and Magnum did heavy lifting for you, letting you create full fledged Kubernetes clusters with only a handful of CLI commands. The next step is to start working with the Kubernetes clusters directly. That means installing the **kubectl** command with article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md) and using it to install the apps that you want to run on Kubernetes clusters.
|
||||
3Engines and Magnum did heavy lifting for you, letting you create full fledged Kubernetes clusters with only a handful of CLI commands. The next step is to start working with the Kubernetes clusters directly. That means installing the **kubectl** command with article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md) and using it to install the apps that you want to run on Kubernetes clusters.
|
||||
@ -1,4 +1,4 @@
|
||||
How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum[🔗](#how-to-create-a-kubernetes-cluster-using-brand-name-openstack-magnum "Permalink to this headline")
|
||||
How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum[🔗](#how-to-create-a-kubernetes-cluster-using-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
=================================================================================================================================================================================
|
||||
|
||||
In this tutorial, you will start with an empty Horizon screen and end up running a full Kubernetes cluster.
|
||||
@ -18,13 +18,13 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
The resources that you require and use will reflect on the state of your account wallet. Check your account statistics at <https://portal.3Engines.com/> and if you are not going to use the cluster any more, remove them altogether to save resources costs.
|
||||
|
||||
Magnum clusters created by certain users are bound together with an impersonation token and in the event of removing that user from the project, the cluster will lose authentication to Openstack API making cluster non-operational. A typical scenario would be for the tenant manager to create user accounts and let them create Kubernetes clusters. Later on, in this scenario, when the cluster is operational, the user would be removed from the project. The cluster would be present but the user could not, say, create new clusters, or persistent volume claims would be dysfunctional and so on.
|
||||
Magnum clusters created by certain users are bound together with an impersonation token and in the event of removing that user from the project, the cluster will lose authentication to 3Engines API making cluster non-operational. A typical scenario would be for the tenant manager to create user accounts and let them create Kubernetes clusters. Later on, in this scenario, when the cluster is operational, the user would be removed from the project. The cluster would be present but the user could not, say, create new clusters, or persistent volume claims would be dysfunctional and so on.
|
||||
|
||||
Therefore, good practice in creation of new Kubernetes clusters is to create a service account dedicated to creating a Magnum cluster. In essence, devote one account to one Kubernetes cluster, nothing more and nothing less.
|
||||
|
||||
No. 2 **Private and public keys**
|
||||
|
||||
An SSH key-pair created in OpenStack dashboard. To create it, follow this article [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md).
|
||||
An SSH key-pair created in 3Engines dashboard. To create it, follow this article [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md).
|
||||
|
||||
The key pair created in that article is called “sshkey”. You will use it as one of the parameters for creation of the Kubernetes cluster.
|
||||
|
||||
@ -59,7 +59,7 @@ You immediately see how the cluster template is applied:
|
||||
|
||||
**Availability Zone**
|
||||
|
||||
**nova** is the name of the related module in OpenStack and is the only option offered here.
|
||||
**nova** is the name of the related module in 3Engines and is the only option offered here.
|
||||
|
||||
**Keypair**
|
||||
|
||||
@ -69,11 +69,11 @@ Assuming you have used **Prerequisite No. 2**, choose *sshkey*.
|
||||
|
||||
**Addon Software - Enable Access to EO Data**
|
||||
|
||||
This field is specific to OpenStack systems that are developed by [3Engines hosting company](https://3Engines.com/en/). *EODATA* here means **Earth Observation Data** and refers to data gained from scientific satelites monitoring the Earth.
|
||||
This field is specific to 3Engines systems that are developed by [3Engines hosting company](https://3Engines.com/en/). *EODATA* here means **Earth Observation Data** and refers to data gained from scientific satelites monitoring the Earth.
|
||||
|
||||
Checking this field on, will install a network which will have access to the downloaded satelite data.
|
||||
|
||||
If you are just trying to learn about Kubernetes on OpenStack, leave this option unchecked. And vice versa: if you want to go into production and use satellite data, turn it on.
|
||||
If you are just trying to learn about Kubernetes on 3Engines, leave this option unchecked. And vice versa: if you want to go into production and use satellite data, turn it on.
|
||||
|
||||
Note
|
||||
|
||||
@ -153,7 +153,7 @@ However, turning the checkbox off discloses an option to use an existing network
|
||||
|
||||
**Use an Existing Network**
|
||||
|
||||
Using an existing network is a more advanced option. You would need to first create a network dedicated to this cluster in OpenStack along with the necessary adjustments. Creation of such a custom network is beyond the scope of this article. Note you should not use the network of another cluster, project network or EODATA network.
|
||||
Using an existing network is a more advanced option. You would need to first create a network dedicated to this cluster in 3Engines along with the necessary adjustments. Creation of such a custom network is beyond the scope of this article. Note you should not use the network of another cluster, project network or EODATA network.
|
||||
|
||||
If you have an existing network and you would like to proceed, you will need to choose the network and the subnet from the dropdown below:
|
||||
|
||||
@ -197,7 +197,7 @@ If you **turn on** the field **I do want to override Template and Workflow Label
|
||||
Step 5 Forming of the Cluster[🔗](#step-5-forming-of-the-cluster "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------
|
||||
|
||||
Once you click on **Submit** button, OpenStack will start creating the Kubernetes cluster for you. It will show a cloud message with green background in the upper right corner of the windows, stating that the creation of the cluster has been started.
|
||||
Once you click on **Submit** button, 3Engines will start creating the Kubernetes cluster for you. It will show a cloud message with green background in the upper right corner of the windows, stating that the creation of the cluster has been started.
|
||||
|
||||
Cluster generation usually takes from 10 to 15 minutes. It will be automatically abandoned if duration time is longer than 60 minutes.
|
||||
|
||||
@ -216,7 +216,7 @@ Click on the name of the cluster, *Kubernetes*, and see what it will look like i
|
||||
Step 6 Review cluster state[🔗](#step-6-review-cluster-state "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
Here is what OpenStack Magnum created for you as the result of filling in the data in those three screens:
|
||||
Here is what 3Engines Magnum created for you as the result of filling in the data in those three screens:
|
||||
|
||||
> * A new network called *Kubernetes*, complete with subnet, ready to connect further.
|
||||
> * New instances – virtual machines that serve as nodes.
|
||||
@ -250,8 +250,8 @@ and so on.
|
||||
|
||||
Here are some relevant articles:
|
||||
|
||||
Read more about ingress here: [Using Kubernetes Ingress on 3Engines Cloud OpenStack Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
Read more about ingress here: [Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
Article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) shows how to use command line interface to create Kubernetes clusters.
|
||||
Article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) shows how to use command line interface to create Kubernetes clusters.
|
||||
|
||||
To access your newly created cluster from command line, see article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
To access your newly created cluster from command line, see article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
@ -1,7 +1,7 @@
|
||||
How to create Kubernetes cluster using Terraform on 3Engines Cloud[🔗](#how-to-create-kubernetes-cluster-using-terraform-on-brand-name "Permalink to this headline")
|
||||
=====================================================================================================================================================================
|
||||
|
||||
In this article we demonstrate using [Terraform](https://www.terraform.io/) to deploy an OpenStack Magnum Kubernetes cluster on 3Engines Cloud cloud.
|
||||
In this article we demonstrate using [Terraform](https://www.terraform.io/) to deploy an 3Engines Magnum Kubernetes cluster on 3Engines Cloud cloud.
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
@ -10,47 +10,47 @@ No. 1 **Hosting account**
|
||||
|
||||
You need an active 3Engines Cloud account <https://portal.3Engines.com/>.
|
||||
|
||||
No. 2 **Active CLI session with OpenStackClient for Linux**
|
||||
No. 2 **Active CLI session with 3EnginesClient for Linux**
|
||||
|
||||
You need an OpenStack CLI installed and the respective Python virtual environment sourced. For guidelines see:
|
||||
You need an 3Engines CLI installed and the respective Python virtual environment sourced. For guidelines see:
|
||||
|
||||
[How to install OpenStackClient for Linux on 3Engines Cloud](../openstackcli/How-to-install-OpenStackClient-for-Linux-on-3Engines-Cloud.html.md)
|
||||
[How to install 3EnginesClient for Linux on 3Engines Cloud](../3Enginescli/How-to-install-3EnginesClient-for-Linux-on-3Engines-Cloud.html.md)
|
||||
|
||||
It will show you how to install Python, create and activate a virtual environment, and then connect to the cloud by downloading and activating the proper RC file from the 3Engines Cloud cloud.
|
||||
|
||||
No. 3 **Connect to the cloud via an RC file**
|
||||
|
||||
Another article, [How to activate OpenStack CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-OpenStack-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md), deals with connecting to the cloud and is covering either of the one- or two-factor authentication procedures that are enabled on your account. It also covers all the main platforms: Linux, MacOS and Windows.
|
||||
Another article, [How to activate 3Engines CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-3Engines-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md), deals with connecting to the cloud and is covering either of the one- or two-factor authentication procedures that are enabled on your account. It also covers all the main platforms: Linux, MacOS and Windows.
|
||||
|
||||
You will use both the Python virtual environment and the downloaded RC file **after** Terraform has been installed.
|
||||
|
||||
No. 4 **Familiarity with creating Kubernetes clusters**
|
||||
|
||||
Familiarity with creating Kubernetes clusters in a standard way e.g. using Horizon or OpenStack CLI:
|
||||
Familiarity with creating Kubernetes clusters in a standard way e.g. using Horizon or 3Engines CLI:
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
[How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 5 **Terraform operational**
|
||||
|
||||
Have Terraform installed locally or on a cloud VM - installation guidelines along with further information can be found in this article:
|
||||
|
||||
[Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../openstackdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
[Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
|
||||
After you finish working through that article, you will have access to the cloud via an active **openstack** command. Also, special environmental (**env**) variables (**OS\_USERNAME**, **OS\_PASSWORD**, **OS\_AUTH\_URL** and others) will be set up so that various programs can use them – Terraform being the prime target here.
|
||||
After you finish working through that article, you will have access to the cloud via an active **3Engines** command. Also, special environmental (**env**) variables (**OS\_USERNAME**, **OS\_PASSWORD**, **OS\_AUTH\_URL** and others) will be set up so that various programs can use them – Terraform being the prime target here.
|
||||
|
||||
Define provider for Terraform[🔗](#define-provider-for-terraform "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------
|
||||
|
||||
Terraform uses the notion of *provider*, which represents your concrete cloud environment and covers authentication. 3Engines Cloud clouds are built complying with OpenStack technology and OpenStack is one of the standard types of providers for Terraform.
|
||||
Terraform uses the notion of *provider*, which represents your concrete cloud environment and covers authentication. 3Engines Cloud clouds are built complying with 3Engines technology and 3Engines is one of the standard types of providers for Terraform.
|
||||
|
||||
We need to:
|
||||
|
||||
> * instruct Terraform to use OpenStack as a provider type
|
||||
> * instruct Terraform to use 3Engines as a provider type
|
||||
> * provide credentials which will to point to our own project and user in the cloud.
|
||||
|
||||
Assuming you have worked through Prerequisite No. 2 (download and source the RC file), several OpenStack-related environment variables will be populated in your local system. The ones pointing to your OpenStack environment start with OS, e.g. **OS\_USERNAME**, **OS\_PASSWORD**, **OS\_AUTH\_URL**. When we define OpenStack as TerraForm provider type, Terraform will know to automatically use these **env** variables to authenticate.
|
||||
Assuming you have worked through Prerequisite No. 2 (download and source the RC file), several 3Engines-related environment variables will be populated in your local system. The ones pointing to your 3Engines environment start with OS, e.g. **OS\_USERNAME**, **OS\_PASSWORD**, **OS\_AUTH\_URL**. When we define 3Engines as TerraForm provider type, Terraform will know to automatically use these **env** variables to authenticate.
|
||||
|
||||
Let’s define the Terraform provider now by creating file **provider.tf** with the following contents:
|
||||
|
||||
@ -61,15 +61,15 @@ Let’s define the Terraform provider now by creating file **provider.tf** with
|
||||
terraform {
|
||||
required_version = ">= 0.14.0"
|
||||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
3Engines = {
|
||||
source = "terraform-provider-3Engines/3Engines"
|
||||
version = "~> 1.35.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Configure the OpenStack Provider
|
||||
provider "openstack" {
|
||||
# Configure the 3Engines Provider
|
||||
provider "3Engines" {
|
||||
auth_url = "https://keystone.3Engines.com:5000/v3"
|
||||
# the rest of configuration parameters are taken from environment variables once RC file is correctly sourced
|
||||
}
|
||||
@ -78,18 +78,18 @@ provider "openstack" {
|
||||
|
||||
The **auth\_url** is the only configuration option that shall be provided in the configuration file, despite it also being available within the environment variables.
|
||||
|
||||
Having this provider spec allows us to create a cluster in the following steps, but can also be reused to create other resources in your OpenStack environment e.g. virtual machines, volumes and many others.
|
||||
Having this provider spec allows us to create a cluster in the following steps, but can also be reused to create other resources in your 3Engines environment e.g. virtual machines, volumes and many others.
|
||||
|
||||
Define cluster resource in Terraform[🔗](#define-cluster-resource-in-terraform "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
|
||||
The second step is to define the exact specification of a resource that we want to create with Terraform. In our case we want to create a OpenStack Magnum cluster. In Terraform terminology, it will be an instance of **openstack\_containerinfra\_cluster\_v1** resource type. To proceed, create file **cluster.tf** which contains the specification of our cluster:
|
||||
The second step is to define the exact specification of a resource that we want to create with Terraform. In our case we want to create a 3Engines Magnum cluster. In Terraform terminology, it will be an instance of **3Engines\_containerinfra\_cluster\_v1** resource type. To proceed, create file **cluster.tf** which contains the specification of our cluster:
|
||||
|
||||
**cluster.tf**
|
||||
|
||||
```
|
||||
# Create resource
|
||||
resource "openstack_containerinfra_cluster_v1" "k8s-cluster" {
|
||||
resource "3Engines_containerinfra_cluster_v1" "k8s-cluster" {
|
||||
name = "k8s-cluster"
|
||||
cluster_template_id = "524535ed-9a0f-4b70-966f-6830cdc52604"
|
||||
node_count = 3
|
||||
@ -115,7 +115,7 @@ node\_count, node\_flavor, master\_node\_count, master\_node\_flavor
|
||||
: correspond intuitively to **count** and **flavor** of master and worker nodes in the cluster.
|
||||
|
||||
keypair
|
||||
: reflects the name of keypair used in our openstack project in the chosen cloud
|
||||
: reflects the name of keypair used in our 3Engines project in the chosen cloud
|
||||
|
||||
labels and merge\_labels
|
||||
: We use two labels:
|
||||
@ -144,7 +144,7 @@ terraform init
|
||||
|
||||
```
|
||||
|
||||
This command will initialize our cluster deployment. It will capture any formal errors with authentication to OpenStack, which might need correcting before moving to the next stage.
|
||||
This command will initialize our cluster deployment. It will capture any formal errors with authentication to 3Engines, which might need correcting before moving to the next stage.
|
||||
|
||||

|
||||
|
||||
|
||||
@ -3,11 +3,11 @@ How to install Rancher RKE2 Kubernetes on 3Engines Cloud[🔗](#how-to-install-r
|
||||
|
||||
[RKE2](https://docs.rke2.io/) - Rancher Kubernetes Engine version 2 - is a Kubernetes distribution provided by SUSE. Running a self-managed RKE2 cluster in 3Engines Cloud cloud is a viable option, especially for those seeking smooth integration with Rancher platform and customization options.
|
||||
|
||||
An RKE2 cluster can be provisioned from Rancher GUI. However, in this article we use Terraform, which enables streamlined, automated cluster creation. We also use OpenStack Cloud Controller Manager (CCM) to integrate RKE2 cluster with the wider OpenStack environment. Using the customized version of CCM enables us to take advantage of 3Engines Cloud cloud-native features. The end result is
|
||||
An RKE2 cluster can be provisioned from Rancher GUI. However, in this article we use Terraform, which enables streamlined, automated cluster creation. We also use 3Engines Cloud Controller Manager (CCM) to integrate RKE2 cluster with the wider 3Engines environment. Using the customized version of CCM enables us to take advantage of 3Engines Cloud cloud-native features. The end result is
|
||||
|
||||
> * a provisioned RKE2 cluster
|
||||
> * running under OpenStack, with
|
||||
> * an integrated OpenStack Cloud Controller Manager.
|
||||
> * running under 3Engines, with
|
||||
> * an integrated 3Engines Cloud Controller Manager.
|
||||
|
||||
We also illustrate the coding techniques used, in case you want to enhance the RKE2 implementation further.
|
||||
|
||||
@ -38,25 +38,25 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Terraform available on your local command line**
|
||||
|
||||
See [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../openstackdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
See [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
|
||||
No. 3 **Python virtual environment sourced**
|
||||
|
||||
[How to install Python virtualenv or virtualenvwrapper on 3Engines Cloud](../cloud/How-to-install-Python-virtualenv-or-virtualenvwrapper-on-3Engines-Cloud.html.md)
|
||||
|
||||
No. 4 **OpenStack CLI installed locally**
|
||||
No. 4 **3Engines CLI installed locally**
|
||||
|
||||
When installed, you will have access to **openstack** command and will be able to communicate with the OpenStack cloud:
|
||||
When installed, you will have access to **3Engines** command and will be able to communicate with the 3Engines cloud:
|
||||
|
||||
[How to activate OpenStack CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-OpenStack-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md)
|
||||
[How to activate 3Engines CLI access to 3Engines Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-3Engines-CLI-access-to-3Engines-Cloud-cloud-using-one-or-two-factor-authentication.html.md)
|
||||
|
||||
No. 5 **kubectl tool installed locally**
|
||||
|
||||
Standard types of **kubectl** installation are described on [Install Tools page](https://kubernetes.io/docs/tasks/tools/) of the official Kubernetes site.
|
||||
|
||||
No. 6 **Available key pair in OpenStack**
|
||||
No. 6 **Available key pair in 3Engines**
|
||||
|
||||
[How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md).
|
||||
[How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md).
|
||||
|
||||
No. 7 **Application credentials**
|
||||
|
||||
@ -68,7 +68,7 @@ In this article, we shall create application credentials through Horizon but wit
|
||||
|
||||
No. 8 **Projects, roles, users and groups**
|
||||
|
||||
Option **Identity** lists available projects, roles, users and groups. See [What is an OpenStack project on 3Engines Cloud](../cloud/What-is-an-OpenStack-project-on-3Engines-Cloud.html.md)
|
||||
Option **Identity** lists available projects, roles, users and groups. See [What is an 3Engines project on 3Engines Cloud](../cloud/What-is-an-3Engines-project-on-3Engines-Cloud.html.md)
|
||||
|
||||
No. 9 **Experience with Kubernetes and Helm**
|
||||
|
||||
@ -80,7 +80,7 @@ No. 10 **Cloud Controller Manager**
|
||||
|
||||
Within a general Kubernetes environment, [the Cloud Controller Manager (CCM)](https://kubernetes.io/docs/concepts/architecture/cloud-controller/) allows Kubernetes to integrate with cloud provider APIs. It abstracts cloud-specific logic and manages and synchronizes resources between Kubernetes and the underlying cloud infrastructure. Also, it provides controllers for Nodes, Routes, Services and Volumes.
|
||||
|
||||
Under OpenStack, CCM integrates with OpenStack APIs. The code used here is from a concrete repository for Cloud Controller Manager – <https://github.com/kubernetes/cloud-provider-openstack> It implements the above mentioned (as well as) other OpenStack-Kubernetes integrations.
|
||||
Under 3Engines, CCM integrates with 3Engines APIs. The code used here is from a concrete repository for Cloud Controller Manager – <https://github.com/kubernetes/cloud-provider-3Engines> It implements the above mentioned (as well as) other 3Engines-Kubernetes integrations.
|
||||
|
||||
No. 11 **rke2-terraform repository**
|
||||
|
||||
@ -99,11 +99,11 @@ One of the files downloaded from the above link will be **variables.tf**. It con
|
||||
Step 1 Perform the preliminary setup[🔗](#step-1-perform-the-preliminary-setup "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
|
||||
Our objective is to create a Kubernetes cluster, which runs in the cloud environment. RKE2 software packages will be installed on cloud virtual machines playing roles of Kubernetes master and worker nodes. Also, several other OpenStack resources will be created along.
|
||||
Our objective is to create a Kubernetes cluster, which runs in the cloud environment. RKE2 software packages will be installed on cloud virtual machines playing roles of Kubernetes master and worker nodes. Also, several other 3Engines resources will be created along.
|
||||
|
||||
As part of the preliminary setup to provision these resources we will:
|
||||
|
||||
> * Create a dedicated OpenStack project to isolate all resources dedicated to the cluster
|
||||
> * Create a dedicated 3Engines project to isolate all resources dedicated to the cluster
|
||||
> * Create application credentials
|
||||
> * Ensure a key pair is enabled for the project
|
||||
> * Source locally the RC file for this project
|
||||
@ -126,7 +126,7 @@ Then click on “Create Project”. Once the project is created, switch to the c
|
||||
|
||||
### Preparation step 2 Create application credentials[🔗](#preparation-step-2-create-application-credentials "Permalink to this headline")
|
||||
|
||||
The next step is to create an application credential that will be used to authenticate the OpenStack Cloud Controller Manager (used for automated load balancer provisioning). To create one, go to menu **Identity** → **Application Credentials**. Fill in the form as per the below example, passing all available roles (“member”, “load-balancer\_member”, “creator”, “reader”) roles to this credential. Set the expiry date to a date in the future.
|
||||
The next step is to create an application credential that will be used to authenticate the 3Engines Cloud Controller Manager (used for automated load balancer provisioning). To create one, go to menu **Identity** → **Application Credentials**. Fill in the form as per the below example, passing all available roles (“member”, “load-balancer\_member”, “creator”, “reader”) roles to this credential. Set the expiry date to a date in the future.
|
||||
|
||||

|
||||
|
||||
@ -157,13 +157,13 @@ variables.tf
|
||||
: Contains key variables that specify configuration of our cluster e.g. **number of worker nodes**, **cloud region** where the cluster will be placed, **name of the cluster**. Most of these variables have their default values set and you can modify these defaults directly in the file. The variables with no defaults (secret, sensitive data) should have their values provided separately, via the use of **tfvars** file, which is explained in the next section.
|
||||
|
||||
providers.tf
|
||||
: Used for declaring and configuring Terraform providers. In our case, we only use OpenStack provider, which is provisioning cloud resources that form the cluster.
|
||||
: Used for declaring and configuring Terraform providers. In our case, we only use 3Engines provider, which is provisioning cloud resources that form the cluster.
|
||||
|
||||
main.tf
|
||||
: Contains declaration of resources to be created by Terraform. Several OpenStack resources are required to form a cluster e.g. a Network, Subnet, Router, Virtual Machines and others. Review the file for details and customize to your preference.
|
||||
: Contains declaration of resources to be created by Terraform. Several 3Engines resources are required to form a cluster e.g. a Network, Subnet, Router, Virtual Machines and others. Review the file for details and customize to your preference.
|
||||
|
||||
security-groups.tf
|
||||
: Contains declaration of security groups and security group rules used in OpenStack to open specific ports on virtual machines forming the cluster. Thus, the communication from selected sources gets enabled on each VM. Modify the file to customize.
|
||||
: Contains declaration of security groups and security group rules used in 3Engines to open specific ports on virtual machines forming the cluster. Thus, the communication from selected sources gets enabled on each VM. Modify the file to customize.
|
||||
|
||||
cloud-init-masters.yml.tpl
|
||||
: and
|
||||
@ -311,18 +311,18 @@ Explaining all of the techniques that went into production of RKE2 repository fr
|
||||
Let us examine the **cloud-init-masters.yml.tpl** file, concretely, the part between line numbers 53 and 79:
|
||||
|
||||
```
|
||||
- path: /var/lib/rancher/rke2/server/manifests/rke2-openstack-cloud-controller-manager.yaml
|
||||
- path: /var/lib/rancher/rke2/server/manifests/rke2-3Engines-cloud-controller-manager.yaml
|
||||
permissions: "0600"
|
||||
owner: root:root
|
||||
content: |
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChart
|
||||
metadata:
|
||||
name: openstack-cloud-controller-manager
|
||||
name: 3Engines-cloud-controller-manager
|
||||
namespace: kube-system
|
||||
spec:
|
||||
chart: openstack-cloud-controller-manager
|
||||
repo: https://kubernetes.github.io/cloud-provider-openstack
|
||||
chart: 3Engines-cloud-controller-manager
|
||||
repo: https://kubernetes.github.io/cloud-provider-3Engines
|
||||
targetNamespace: kube-system
|
||||
bootstrap: True
|
||||
valuesContent: |-
|
||||
@ -343,7 +343,7 @@ Let us examine the **cloud-init-masters.yml.tpl** file, concretely, the part bet
|
||||
|
||||
It covers creating a yaml definition of a HelmChart CRD
|
||||
|
||||
*rke2-openstack-cloud-controller-manager.yaml*
|
||||
*rke2-3Engines-cloud-controller-manager.yaml*
|
||||
|
||||
in location
|
||||
|
||||
@ -361,7 +361,7 @@ One of the entries is the aforementioned pod:
|
||||
```
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
...
|
||||
openstack-cloud-controller-manager-bz7zt 1/1 Running 1 (4h ago) 26h
|
||||
3Engines-cloud-controller-manager-bz7zt 1/1 Running 1 (4h ago) 26h
|
||||
...
|
||||
|
||||
```
|
||||
@ -384,6 +384,6 @@ What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
|
||||
In this article, you have created a proper Kubernetes solution using RKE2 cluster as a foundation.
|
||||
|
||||
You can also consider creating Kubernetes clusters using Magnum within OpenStack:
|
||||
You can also consider creating Kubernetes clusters using Magnum within 3Engines:
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
@ -1,7 +1,7 @@
|
||||
Implementing IP Whitelisting for Load Balancers with Security Groups on 3Engines Cloud[🔗](#implementing-ip-whitelisting-for-load-balancers-with-security-groups-on-brand-name "Permalink to this headline")
|
||||
=============================================================================================================================================================================================================
|
||||
|
||||
In this article we describe how to use commands in Horizon, CLI and Terraform to secure load balancers for Kubernetes clusters in OpenStack by implementing IP whitelisting.
|
||||
In this article we describe how to use commands in Horizon, CLI and Terraform to secure load balancers for Kubernetes clusters in 3Engines by implementing IP whitelisting.
|
||||
|
||||
What Are We Going To Do[🔗](#what-are-we-going-to-do "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------
|
||||
@ -24,19 +24,19 @@ This is the list of IP addresses that you want the load balancer to be able to l
|
||||
|
||||
No. 3 **A preconfigured load balancer**
|
||||
|
||||
In OpenStack, each time you create a Kubernetes cluster, the corresponding load balancers are created automatically.
|
||||
In 3Engines, each time you create a Kubernetes cluster, the corresponding load balancers are created automatically.
|
||||
|
||||
See article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
See article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **OpenStack command operational**
|
||||
No. 4 **3Engines command operational**
|
||||
|
||||
This is a necessary for CLI procedures.
|
||||
|
||||
This boils down to sourcing the proper RC file from Horizon. See [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
This boils down to sourcing the proper RC file from Horizon. See [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 5 **Python Octavia Client**
|
||||
|
||||
To operate Load Balancers with CLI, the Python Octavia Client (python-octaviaclient) is required. It is a command-line client for the OpenStack Load Balancing service. Install the load-balancer (Octavia) plugin with the following command from the Terminal window, on Ubuntu 22.04:
|
||||
To operate Load Balancers with CLI, the Python Octavia Client (python-octaviaclient) is required. It is a command-line client for the 3Engines Load Balancing service. Install the load-balancer (Octavia) plugin with the following command from the Terminal window, on Ubuntu 22.04:
|
||||
|
||||
```
|
||||
pip install python-octaviaclient
|
||||
@ -57,7 +57,7 @@ No. 6 **Terraform installed**
|
||||
|
||||
You will need Terraform version 1.50 or higher to be operational.
|
||||
|
||||
For complete introduction and installation of Terrafom on OpenStack see article [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../openstackdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
For complete introduction and installation of Terrafom on 3Engines see article [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
|
||||
To use Terraform in this capacity, you will need to authenticate to the cloud using application credentials with **unrestricted** access. Check article [How to generate or use Application Credentials via CLI on 3Engines Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-3Engines-Cloud.html.md)
|
||||
|
||||
@ -105,28 +105,28 @@ To confirm the configuration:
|
||||
CLI: Whitelisting Load Balancers[🔗](#cli-whitelisting-load-balancers "Permalink to this headline")
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
The OpenStack CLI provides a command-line method for implementing IP whitelisting.
|
||||
The 3Engines CLI provides a command-line method for implementing IP whitelisting.
|
||||
|
||||
Be sure to work through Prerequisites Nos 4 and 5 in order to have **openstack** command fully operational.
|
||||
Be sure to work through Prerequisites Nos 4 and 5 in order to have **3Engines** command fully operational.
|
||||
|
||||
List the security groups associated with the load balancer:
|
||||
|
||||
```
|
||||
openstack loadbalancer show <LOAD_BALANCER_NAME_OR_ID>
|
||||
3Engines loadbalancer show <LOAD_BALANCER_NAME_OR_ID>
|
||||
|
||||
```
|
||||
|
||||
Identify the pool associated with the load balancer:
|
||||
|
||||
```
|
||||
openstack loadbalancer pool list
|
||||
3Engines loadbalancer pool list
|
||||
|
||||
```
|
||||
|
||||
Show details of the pool to list its members:
|
||||
|
||||
```
|
||||
openstack loadbalancer pool show <POOL_NAME_OR_ID>
|
||||
3Engines loadbalancer pool show <POOL_NAME_OR_ID>
|
||||
|
||||
```
|
||||
|
||||
@ -135,14 +135,14 @@ Note the IP addresses of the pool members and identify the instances hosting the
|
||||
Create a security group for IP whitelisting:
|
||||
|
||||
```
|
||||
openstack security group create <SECURITY_GROUP_NAME>
|
||||
3Engines security group create <SECURITY_GROUP_NAME>
|
||||
|
||||
```
|
||||
|
||||
Add rules to the security group:
|
||||
|
||||
```
|
||||
openstack security group rule create \
|
||||
3Engines security group rule create \
|
||||
--ingress \
|
||||
--ethertype IPv4 \
|
||||
--protocol tcp \
|
||||
@ -155,7 +155,7 @@ openstack security group rule create \
|
||||
Apply the security group to the instances hosting the pool members:
|
||||
|
||||
```
|
||||
openstack server add security group <INSTANCE_ID> <SECURITY_GROUP_NAME>
|
||||
3Engines server add security group <INSTANCE_ID> <SECURITY_GROUP_NAME>
|
||||
|
||||
```
|
||||
|
||||
@ -164,14 +164,14 @@ openstack server add security group <INSTANCE_ID> <SECURITY_GROUP_NAME>
|
||||
Verify the applied security group rules:
|
||||
|
||||
```
|
||||
openstack security group show <SECURITY_GROUP_ID>
|
||||
3Engines security group show <SECURITY_GROUP_ID>
|
||||
|
||||
```
|
||||
|
||||
Confirm the security group is attached to the appropriate instances:
|
||||
|
||||
```
|
||||
openstack server show <INSTANCE_ID>
|
||||
3Engines server show <INSTANCE_ID>
|
||||
|
||||
```
|
||||
|
||||
@ -186,40 +186,40 @@ Create a security group and whitelist rule in **main.tf**:
|
||||
# main.tf
|
||||
|
||||
# Security Group to Whitelist IPs
|
||||
resource "openstack_networking_secgroup_v2" "whitelist_secgroup" {
|
||||
resource "3Engines_networking_secgroup_v2" "whitelist_secgroup" {
|
||||
name = "loadbalancer_whitelist"
|
||||
description = "Security group for load balancer IP whitelisting"
|
||||
}
|
||||
|
||||
# Add Whitelist Rule for Specific IPs
|
||||
resource "openstack_networking_secgroup_rule_v2" "allow_whitelist" {
|
||||
resource "3Engines_networking_secgroup_rule_v2" "allow_whitelist" {
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "tcp"
|
||||
port_range_min = 80 # Replace with actual port range
|
||||
port_range_max = 80
|
||||
remote_ip_prefix = "192.168.1.0/24" # Replace with actual CIDR
|
||||
security_group_id = openstack_networking_secgroup_v2.whitelist_secgroup.id
|
||||
security_group_id = 3Engines_networking_secgroup_v2.whitelist_secgroup.id
|
||||
}
|
||||
|
||||
# Existing Instances Associated with Pool Members
|
||||
resource "openstack_compute_instance_v2" "instances" {
|
||||
resource "3Engines_compute_instance_v2" "instances" {
|
||||
count = 2 # Adjust to the number of pool member instances
|
||||
name = "pool_member_${count.index + 1}"
|
||||
flavor_id = "m1.small" # Replace with an appropriate flavor
|
||||
image_id = "image-id" # Replace with a valid image ID
|
||||
key_pair = "your-key-pair"
|
||||
security_groups = [openstack_networking_secgroup_v2.whitelist_secgroup.name]
|
||||
security_groups = [3Engines_networking_secgroup_v2.whitelist_secgroup.name]
|
||||
network {
|
||||
uuid = "network-uuid" # Replace with the UUID of your network
|
||||
}
|
||||
}
|
||||
|
||||
# Associate the Load Balancer with Security Group via Instances
|
||||
resource "openstack_lb_loadbalancer_v2" "loadbalancer" {
|
||||
resource "3Engines_lb_loadbalancer_v2" "loadbalancer" {
|
||||
name = "my_loadbalancer"
|
||||
vip_subnet_id = "subnet-id" # Replace with the subnet ID
|
||||
depends_on = [openstack_compute_instance_v2.instances]
|
||||
depends_on = [3Engines_compute_instance_v2.instances]
|
||||
}
|
||||
|
||||
```
|
||||
@ -238,8 +238,8 @@ Use Terraform to review the applied state:
|
||||
|
||||
```
|
||||
terraform show
|
||||
openstack server show <INSTANCE_ID>
|
||||
openstack security group show <SECURITY_GROUP_ID>
|
||||
3Engines server show <INSTANCE_ID>
|
||||
3Engines security group show <SECURITY_GROUP_ID>
|
||||
|
||||
```
|
||||
|
||||
@ -334,6 +334,6 @@ What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
|
||||
Compare with articles:
|
||||
|
||||
[Configuring IP Whitelisting for OpenStack Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md)
|
||||
[Configuring IP Whitelisting for 3Engines Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md)
|
||||
|
||||
[Configuring IP Whitelisting for OpenStack Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
[Configuring IP Whitelisting for 3Engines Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
@ -39,7 +39,7 @@ The Helm chart for installation of GitHub client will install its own ingress co
|
||||
|
||||
General explanation of how to create a Kubernetes cluster is here:
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
Be sure to use cluster template for at least version 1.25, like this:
|
||||
|
||||
@ -47,7 +47,7 @@ Be sure to use cluster template for at least version 1.25, like this:
|
||||
|
||||
No. 4 **Have your own domain and be able to manage it**
|
||||
|
||||
You will be able to manage the records of a domain associated with your gitlab instance at your domain registrar. Alternatively OpenStack on 3Engines Cloud hosting lets you manage DNS as a service:
|
||||
You will be able to manage the records of a domain associated with your gitlab instance at your domain registrar. Alternatively 3Engines on 3Engines Cloud hosting lets you manage DNS as a service:
|
||||
|
||||
[DNS as a Service on 3Engines Cloud Hosting](../cloud/DNS-as-a-Service-on-3Engines-Cloud-Hosting.html.md)
|
||||
|
||||
@ -67,7 +67,7 @@ We will first create a Floating IP (FIP) using Horizon GUI. This FIP will be lat
|
||||
|
||||

|
||||
|
||||
After closing the form, your new floating IP will appear on the list and let us say that for the sake of this article, its value is **64.225.134.173**. The next step is to create an A record that will associate the subdomain **gitlab.<yourdomain>** with this IP address. In our case, it might look like this if you are using DNS as a Service under OpenStack Horizon UI on your 3Engines Cloud cloud:
|
||||
After closing the form, your new floating IP will appear on the list and let us say that for the sake of this article, its value is **64.225.134.173**. The next step is to create an A record that will associate the subdomain **gitlab.<yourdomain>** with this IP address. In our case, it might look like this if you are using DNS as a Service under 3Engines Horizon UI on your 3Engines Cloud cloud:
|
||||
|
||||

|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ No. 1 **Account**
|
||||
: You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://horizon.3Engines.com>.
|
||||
|
||||
No. 2 **kubectl pointed to the Kubernetes cluster**
|
||||
: If you are creating a new cluster, for the purposes of this article, call it *argo-cluster*. See [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
: If you are creating a new cluster, for the purposes of this article, call it *argo-cluster*. See [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
Authenticate to the cluster[🔗](#authenticate-to-the-cluster "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------
|
||||
@ -36,7 +36,7 @@ Authenticate to the cluster[🔗](#authenticate-to-the-cluster "Permalink to thi
|
||||
Let us authenticate to *argo-cluster*. Run from your local machine the following command to create a config file in the present working directory:
|
||||
|
||||
```
|
||||
openstack coe cluster config argo-cluster
|
||||
3Engines coe cluster config argo-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -52,7 +52,7 @@ Run this command.
|
||||
Apply preliminary configuration[🔗](#apply-preliminary-configuration "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
|
||||
OpenStack Magnum by default applies certain security restrictions for pods running on the cluster, in line with “least privileges” practice. Argo Workflows will require some additional privileges in order to run correctly.
|
||||
3Engines Magnum by default applies certain security restrictions for pods running on the cluster, in line with “least privileges” practice. Argo Workflows will require some additional privileges in order to run correctly.
|
||||
|
||||
First create a dedicated namespace for Argo Workflows artifacts:
|
||||
|
||||
|
||||
@ -25,11 +25,11 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Kubernetes cluster on 3Engines cloud**
|
||||
|
||||
To create Kubernetes cluster on cloud refer to this guide: [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
To create Kubernetes cluster on cloud refer to this guide: [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Access to kubectl command line**
|
||||
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Helm**
|
||||
|
||||
|
||||
@ -31,21 +31,21 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Access to Kubernetes cluster on WAW3-1 cloud**
|
||||
|
||||
A cluster on WAW3-1 cloud, where we will run our NooBaa installation - follow guidelines in this article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
A cluster on WAW3-1 cloud, where we will run our NooBaa installation - follow guidelines in this article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 3 **Familiarity with using Object Storage on 3Engines clouds**
|
||||
|
||||
More information in [How to use Object Storage on 3Engines Cloud](../s3/How-to-use-Object-Storage-on-3Engines-Cloud.html.md)
|
||||
|
||||
Traditional OpenStack term for imported or downloaded files is *Containers* in main menu option *Object Store*. We will use the term “bucket” for object storage containers, to differentiate vs. container term in Docker/Kubernetes sense.
|
||||
Traditional 3Engines term for imported or downloaded files is *Containers* in main menu option *Object Store*. We will use the term “bucket” for object storage containers, to differentiate vs. container term in Docker/Kubernetes sense.
|
||||
|
||||
No. 4 **kubectl operational**
|
||||
|
||||
**kubectl** CLI tool installed and pointing to your cluster via KUBECONFIG env. variable - more information in [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
**kubectl** CLI tool installed and pointing to your cluster via KUBECONFIG env. variable - more information in [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 5 **Access to private S3 keys in WAW3-1 cloud**
|
||||
|
||||
You may also use access to OpenStack CLI to generate and read the private S3 keys - [How to generate and manage EC2 credentials on 3Engines Cloud](../cloud/How-to-generate-ec2-credentials-on-3Engines-Cloud.html.md).
|
||||
You may also use access to 3Engines CLI to generate and read the private S3 keys - [How to generate and manage EC2 credentials on 3Engines Cloud](../cloud/How-to-generate-ec2-credentials-on-3Engines-Cloud.html.md).
|
||||
|
||||
No. 6 **Familiarity with s3cmd for accessing object storage**
|
||||
|
||||
@ -139,7 +139,7 @@ noobaa status -n noobaa
|
||||
|
||||
It outputs several useful insights about the NooBaa installation, with the “key facts” available towards the end of this status:
|
||||
|
||||
> * NooBaa created a default backing store called *noobaa-default-backing-store*, backed by a block volume created in OpenStack.
|
||||
> * NooBaa created a default backing store called *noobaa-default-backing-store*, backed by a block volume created in 3Engines.
|
||||
> * S3 credentials are provided to access the bucket created with the default backing store. Such volume-based backing store has its use e.g. for utilizing the S3 access method to our block storage.
|
||||
|
||||
For the purpose of this article, we will not use the default backing store, but rather learn to create a new backing store based on cloud S3 object storage. Such setup can be then easily extended so that we can end up with separate backing stores for different clouds. In the second part of this article you will create one store on WAW3-1 cloud, another one on WAW3-2 cloud and they will be available through one abstracted S3 bucket in NooBaa.
|
||||
@ -167,7 +167,7 @@ You need to create a bucket with a different name and use this generated name to
|
||||
If you have properly set up the EC2 (S3) keys for your WAW3-1 object storage, take note of them with the following command:
|
||||
|
||||
```
|
||||
openstack ec2 credentials list
|
||||
3Engines ec2 credentials list
|
||||
|
||||
```
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **Familiarity with kubectl**
|
||||
|
||||
You should have an appropriate Kubernetes cluster up and running, with **kubectl** pointing to it [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
You should have an appropriate Kubernetes cluster up and running, with **kubectl** pointing to it [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Familiarity with deploying Helm charts**
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ You need a 3Engines Cloud hosting account with access to the Horizon interface:
|
||||
|
||||
No. 2 **kubectl up and running**
|
||||
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
No. 3 **Helm up and running**
|
||||
|
||||
@ -44,7 +44,7 @@ First of all, we need to authenticate to the cluster. It may so happen that you
|
||||
You may also create a new cluster and call it, say, *jupyter-cluster*, as explained in Prerequisite No. 2. In that case, run from your local machine the following command to create config file in the present working directory:
|
||||
|
||||
```
|
||||
openstack coe cluster config jupyter-cluster
|
||||
3Engines coe cluster config jupyter-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -60,7 +60,7 @@ Run this command.
|
||||
Step 2 Apply preliminary configuration[🔗](#step-2-apply-preliminary-configuration "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
OpenStack Magnum by default applies certain security restrictions for pods running on the cluster, in line with “least privileges” practice. JupyterHub will require some additional privileges in order to run correctly.
|
||||
3Engines Magnum by default applies certain security restrictions for pods running on the cluster, in line with “least privileges” practice. JupyterHub will require some additional privileges in order to run correctly.
|
||||
|
||||
We will start by creating a dedicated namespace for our JupyterHub Helm artifacts:
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **A cluster created on** **cloud**
|
||||
|
||||
Kubernetes cluster available. For guideline on creating a Kubernetes cluster refer to [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
Kubernetes cluster available. For guideline on creating a Kubernetes cluster refer to [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 3 **Familiarity with Helm**
|
||||
|
||||
@ -32,7 +32,7 @@ For more information on using Helm and installing apps with Helm on Kubernetes,
|
||||
|
||||
No. 4 **Access to kubectl command line**
|
||||
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
1. Install Prometheus with Helm[🔗](#install-prometheus-with-helm "Permalink to this headline")
|
||||
----------------------------------------------------------------------------------------------
|
||||
@ -209,4 +209,4 @@ You can find and import many other dashboards for Kubernetes observability by br
|
||||
|
||||
The following article shows another approach to creating a Kubernetes dashboard:
|
||||
|
||||
[Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud OpenStack Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud 3Engines Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
@ -38,11 +38,11 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **A cluster on 3Engines-Cloud cloud**
|
||||
|
||||
A Kubernetes cluster on 3Engines Cloud cloud. Follow guidelines in this article [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
A Kubernetes cluster on 3Engines Cloud cloud. Follow guidelines in this article [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
No. 3 **kubectl operational**
|
||||
|
||||
**kubectl** CLI tool installed and pointing to your cluster via KUBECONFIG environment variable. Article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md) provides further guidance.
|
||||
**kubectl** CLI tool installed and pointing to your cluster via KUBECONFIG environment variable. Article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md) provides further guidance.
|
||||
|
||||
No. 4 **Familiarity with deploying Helm charts**
|
||||
|
||||
|
||||
@ -31,13 +31,13 @@ No. 3 **Kubernetes cluster**
|
||||
|
||||
General explanation of how to create a Kubernetes cluster is here:
|
||||
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
For new cluster, using the latest version of the cluster template is always recommended. This article was tested with Kubernetes 1.25.
|
||||
|
||||
No. 4 **Access to cluster with kubectl**
|
||||
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
Step 1 Install the Sealed Secrets controller[🔗](#step-1-install-the-sealed-secrets-controller "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud OpenStack Magnum[🔗](#using-dashboard-to-access-kubernetes-cluster-post-deployment-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud 3Engines Magnum[🔗](#using-dashboard-to-access-kubernetes-cluster-post-deployment-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================================================================
|
||||
|
||||
After the Kubernetes cluster has been created, you can access it through command line tool, **kubectl**, or you can access it through a visual interface, called the **Kubernetes dashboard**. *Dashboard* is a GUI interface to Kubernetes cluster, much the same as **kubectl** as a CLI interface to the Kubernetes cluster.
|
||||
@ -24,7 +24,7 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
No. 2 **Cluster and kubectl should be already operational**
|
||||
|
||||
To eventually set up a cluster and connect it to the **kubectl** tool, see this article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
To eventually set up a cluster and connect it to the **kubectl** tool, see this article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
The important intermediary result of that article is a command like this:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Using Kubernetes Ingress on 3Engines Cloud OpenStack Magnum[🔗](#using-kubernetes-ingress-on-brand-name-cloud-name-openstack-magnum "Permalink to this headline")
|
||||
Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum[🔗](#using-kubernetes-ingress-on-brand-name-cloud-name-3Engines-magnum "Permalink to this headline")
|
||||
==================================================================================================================================================================
|
||||
|
||||
The Ingress feature in Kubernetes can be associated with routing the traffic from outside of the cluster to the services within the cluster. With Ingress, multiple Kubernetes services can be exposed using a single Load Balancer.
|
||||
@ -29,7 +29,7 @@ Basic knowledge of Kubernetes fundamentals will come handy: cluster creation, po
|
||||
|
||||
No. 3 **Access to kubectl command**
|
||||
|
||||
To install necessary software (if you haven’t done so already), see article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
To install necessary software (if you haven’t done so already), see article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
The net result of following instructions in that and the related articles will be
|
||||
|
||||
@ -39,7 +39,7 @@ The net result of following instructions in that and the related articles will b
|
||||
Step 1 Create a Magnum Kubernetes cluster with NGINX Ingress enabled[🔗](#step-1-create-a-magnum-kubernetes-cluster-with-nginx-ingress-enabled "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
When we create a Kubernetes cluster on the cloud, we can deploy it with a preconfigured ingress setup. This requires minimal setting and is described in this help section: [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md).
|
||||
When we create a Kubernetes cluster on the cloud, we can deploy it with a preconfigured ingress setup. This requires minimal setting and is described in this help section: [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
|
||||
Such a cluster is deployed with an NGINX *ingress controller* and the default *ingress backend*. The role of the controller is to enable the provisioning of the infrastructure e.g. the (virtual) load balancer. The role of the backend is to provide access to this infrastructure in line with the rules defined by the **ingress resource** (explained later).
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on 3Engines Cloud OpenStack Magnum[🔗](#volume-based-vs-ephemeral-based-storage-for-kubernetes-clusters-on-brand-name-openstack-magnum "Permalink to this headline")
|
||||
Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on 3Engines Cloud 3Engines Magnum[🔗](#volume-based-vs-ephemeral-based-storage-for-kubernetes-clusters-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
=====================================================================================================================================================================================================================================
|
||||
|
||||
Containers in Kubernetes store files on-disk and if the container crashes, the data will be lost. A new container can replace the old one but the data will not survive. Another problem that appears is when containers running in a pod need to share files.
|
||||
@ -8,10 +8,10 @@ That is why Kubernetes has another type of file storage, called *volumes*. They
|
||||
> * Ephemeral volumes are deleted when the pod is deleted, while
|
||||
> * Persistent volumes continue to exist even if the pod it is attached to does not exist any more.
|
||||
|
||||
The concept of volumes was first popularized by Docker, where it was a directory on disk, or within a container. In 3Engines Cloud OpenStack hosting, the default docker storage is configured to use ephemeral disk of the instance. This can be changed by specifying docker volume size during cluster creation, symbolically like this (see below for the full command to generate a new cluster using **–docker-volume-size**):
|
||||
The concept of volumes was first popularized by Docker, where it was a directory on disk, or within a container. In 3Engines Cloud 3Engines hosting, the default docker storage is configured to use ephemeral disk of the instance. This can be changed by specifying docker volume size during cluster creation, symbolically like this (see below for the full command to generate a new cluster using **–docker-volume-size**):
|
||||
|
||||
```
|
||||
openstack coe cluster create --docker-volume-size 50
|
||||
3Engines coe cluster create --docker-volume-size 50
|
||||
|
||||
```
|
||||
|
||||
@ -36,11 +36,11 @@ You need a 3Engines Cloud hosting account with Horizon interface <https://horizo
|
||||
|
||||
2 **Creating clusters with CLI**
|
||||
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
3 **Connect openstack client to the cloud**
|
||||
3 **Connect 3Engines client to the cloud**
|
||||
|
||||
Prepare **openstack** and **magnum** clients by executing *Step 2 Connect OpenStack and Magnum Clients to Horizon Cloud* from article [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
Prepare **3Engines** and **magnum** clients by executing *Step 2 Connect 3Engines and Magnum Clients to Horizon Cloud* from article [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
|
||||
4 **Check available quotas**
|
||||
|
||||
@ -48,7 +48,7 @@ Before creating additional cluster check the state of the resources with Horizon
|
||||
|
||||
5 **Private and public keys**
|
||||
|
||||
An SSH key-pair created in OpenStack dashboard. To create it, follow this article [How to create key pair in OpenStack Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.md). You will have created keypair called “sshkey” and you will be able to use it for this tutorial as well.
|
||||
An SSH key-pair created in 3Engines dashboard. To create it, follow this article [How to create key pair in 3Engines Dashboard on 3Engines Cloud](../cloud/How-to-create-key-pair-in-3Engines-Dashboard-on-3Engines-Cloud.html.md). You will have created keypair called “sshkey” and you will be able to use it for this tutorial as well.
|
||||
|
||||
6 **Types of Volumes**
|
||||
|
||||
@ -60,7 +60,7 @@ Step 1 - Create Cluster Using **–docker-volume-size**[🔗](#step-1-create-clu
|
||||
You are going to create a new cluster called *dockerspace* that will use parameter **–docker-volume-size** using the following command:
|
||||
|
||||
```
|
||||
openstack coe cluster create dockerspace
|
||||
3Engines coe cluster create dockerspace
|
||||
--cluster-template k8s-1.23.16-cilium-v1.0.3
|
||||
--keypair sshkey
|
||||
--master-count 1
|
||||
@ -165,7 +165,7 @@ That will happen in case you did not set up the kubectl parameters as specified
|
||||
```
|
||||
mkdir dockerspacedir
|
||||
|
||||
openstack coe cluster config
|
||||
3Engines coe cluster config
|
||||
--dir dockerspacedir
|
||||
--force
|
||||
--output-certs
|
||||
@ -2,18 +2,18 @@
|
||||
|
||||
## Available Documentation
|
||||
|
||||
* [How to Create a Kubernetes Cluster Using 3Engines Cloud OpenStack Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [How to Create a Kubernetes Cluster Using 3Engines Cloud 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Default Kubernetes cluster templates in 3Engines Cloud Cloud](Default-Kubernetes-cluster-templates-in-3Engines-Cloud-Cloud.html.md)
|
||||
* [How To Install OpenStack and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-OpenStack-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
* [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud OpenStack Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud OpenStack Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud OpenStack Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [How To Create API Server LoadBalancer for Kubernetes Cluster on 3Engines Cloud OpenStack Magnum](How-To-Create-API-Server-LoadBalancer-for-Kubernetes-Cluster-On-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud OpenStack Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Autoscaling Kubernetes Cluster Resources on 3Engines Cloud OpenStack Magnum](Autoscaling-Kubernetes-Cluster-Resources-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on 3Engines Cloud OpenStack Magnum](Volume-based-vs-Ephemeral-based-Storage-for-Kubernetes-Clusters-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [How To Install 3Engines and Magnum Clients for Command Line Interface to 3Engines Cloud Horizon](How-To-Install-3Engines-and-Magnum-Clients-for-Command-Line-Interface-to-3Engines-Cloud-Horizon.html.md)
|
||||
* [How To Use Command Line Interface for Kubernetes Clusters On 3Engines Cloud 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [How To Access Kubernetes Cluster Post Deployment Using Kubectl On 3Engines Cloud 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Using Dashboard To Access Kubernetes Cluster Post Deployment On 3Engines Cloud 3Engines Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [How To Create API Server LoadBalancer for Kubernetes Cluster on 3Engines Cloud 3Engines Magnum](How-To-Create-API-Server-LoadBalancer-for-Kubernetes-Cluster-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud 3Engines Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Autoscaling Kubernetes Cluster Resources on 3Engines Cloud 3Engines Magnum](Autoscaling-Kubernetes-Cluster-Resources-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on 3Engines Cloud 3Engines Magnum](Volume-based-vs-Ephemeral-based-Storage-for-Kubernetes-Clusters-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Backup of Kubernetes Cluster using Velero](Backup-of-Kubernetes-Cluster-using-Velero.html.md)
|
||||
* [Using Kubernetes Ingress on 3Engines Cloud OpenStack Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md)
|
||||
* [Deploying HTTPS Services on Magnum Kubernetes in 3Engines Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-3Engines-Cloud-Cloud.html.md)
|
||||
* [Installing JupyterHub on Magnum Kubernetes Cluster in 3Engines Cloud Cloud](Installing-JupyterHub-on-Magnum-Kubernetes-cluster-in-3Engines-Cloud-cloud.html.md)
|
||||
@ -33,8 +33,8 @@
|
||||
* [CI/CD pipelines with GitLab on 3Engines Cloud Kubernetes - building a Docker image](CICD-pipelines-with-GitLab-on-3Engines-Cloud-Kubernetes-building-a-Docker-image.html.md)
|
||||
* [How to create Kubernetes cluster using Terraform on 3Engines Cloud](How-to-create-Kubernetes-cluster-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
* [GitOps with Argo CD on 3Engines Cloud Kubernetes](GitOps-with-Argo-CD-on-3Engines-Cloud-Kubernetes.html.md)
|
||||
* [Configuring IP Whitelisting for OpenStack Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md)
|
||||
* [Configuring IP Whitelisting for OpenStack Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-OpenStack-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
* [Configuring IP Whitelisting for 3Engines Load Balancer using Horizon and CLI on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Horizon-and-CLI-on-3Engines-Cloud.html.md)
|
||||
* [Configuring IP Whitelisting for 3Engines Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-Load-Balancer-using-Terraform-on-3Engines-Cloud.html.md)
|
||||
* [Implementing IP Whitelisting for Load Balancers with Security Groups on 3Engines Cloud](Implementing-IP-Whitelisting-for-Load-Balancers-with-Security-Groups-on-3Engines-Cloud.html.md)
|
||||
* [How to install Rancher RKE2 Kubernetes on 3Engines Cloud](How-to-install-Rancher-RKE2-Kubernetes-on-3Engines-Cloud-cloud.html.md)
|
||||
* [Automatic Kubernetes cluster upgrade on 3Engines Cloud OpenStack Magnum](Automatic-Kubernetes-cluster-upgrade-on-3Engines-Cloud-OpenStack-Magnum.html.md)
|
||||
* [Automatic Kubernetes cluster upgrade on 3Engines Cloud 3Engines Magnum](Automatic-Kubernetes-cluster-upgrade-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
|
||||
Reference in New Issue
Block a user