brand changes have been done
This commit is contained in:
@ -1,12 +0,0 @@
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
What are we going to cover
|
||||
@ -0,0 +1,12 @@
|
||||
Automatic Kubernetes cluster upgrade on connectVM Cloud connectVM Magnum[🔗](#automatic-kubernetes-cluster-upgrade-on-brand-name-connectVM-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================
|
||||
|
||||
Warning
|
||||
|
||||
Upgradeable cluster templates are available on connectVM Cloud WAW4-1 region only at the moment of this writing.
|
||||
|
||||
connectVM Magnum clusters created in connectVM 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.
|
||||
|
||||
What are we going to cover
|
||||
@ -1,4 +1,4 @@
|
||||
Autoscaling Kubernetes Cluster Resources on 3Engines Cloud 3Engines Magnum[🔗](#autoscaling-kubernetes-cluster-resources-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
Autoscaling Kubernetes Cluster Resources on connectVM Cloud connectVM Magnum[🔗](#autoscaling-kubernetes-cluster-resources-on-brand-name-connectVM-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 3Engines 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 connectVM Magnum.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -23,23 +23,23 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Creating clusters with CLI**
|
||||
|
||||
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.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
No. 3 **Connect 3Engines client to the cloud**
|
||||
No. 3 **Connect connectVM client to the cloud**
|
||||
|
||||
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)
|
||||
Prepare **connectVM** and **magnum** clients by executing *Step 2 Connect connectVM and Magnum Clients to Horizon Cloud* from article [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-Cloud-Horizon.html.md)
|
||||
|
||||
No. 4. **Resizing Nodegroups**
|
||||
|
||||
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.
|
||||
Step 7 of article [Creating Additional Nodegroups in Kubernetes Cluster on connectVM Cloud connectVM Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-connectVM-Cloud-connectVM-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 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.
|
||||
Step 2 of article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster resize NoLoadBalancer --nodegroup default-worker 12
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup update NoLoadBalancer default-worker replace max_node_count=15
|
||||
connectVM 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:
|
||||
|
||||
3Engines coe cluster resize NoLoadBalancer –nodegroup default-worker 12
|
||||
connectVM coe cluster resize NoLoadBalancer –nodegroup default-worker 12
|
||||
|
||||
If you repeat the first statement:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c max_node_count -c node_count -c min_node_count
|
||||
connectVM 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
|
||||
|
||||
```
|
||||
3Engines coe cluster create mycluster --cluster-template mytemplate --node-count 8 --master-count 3
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup show NoLoadBalancer default-worker -f json -c role
|
||||
connectVM 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 **3Engines coe nodegroup** family of commands.
|
||||
See Prerequisites No. 4 for detailed examples of using the **connectVM coe nodegroup** family of commands.
|
||||
|
||||
Autoscaling Labels for Clusters[🔗](#autoscaling-labels-for-clusters "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
@ -206,12 +206,12 @@ The command to create a cluster with CLI must encompass all of the usual paramet
|
||||
This is what one such command could look like:
|
||||
|
||||
```
|
||||
3Engines coe cluster create mycluster
|
||||
connectVM 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
|
||||
--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.connectVM.com/magnum/,eodata_access_enabled=false,etcd_volume_size=8,etcd_volume_type=ssd,hyperkube_prefix=registry-public.connectVM.com/magnum/,k8s_keystone_auth_tag=v1.21.0,kube_tag=v1.21.5-rancher1,master_lb_floating_ip_enabled=true
|
||||
|
||||
```
|
||||
|
||||
@ -223,7 +223,7 @@ The line containing labels will be only partially visible on the screen, but onc
|
||||
|
||||
The command is:
|
||||
|
||||
> **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**
|
||||
> **connectVM 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.connectVM.com/magnum/,eodata\_access\_enabled=false,etcd\_volume\_size=8,etcd\_volume\_type=ssd,hyperkube\_prefix=registry-public.connectVM.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
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-without-role --node-count 1 --min-nodes 1 --max-nodes 5
|
||||
connectVM coe nodegroup create k8s-cluster nodegroup-without-role --node-count 1 --min-nodes 1 --max-nodes 5
|
||||
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
connectVM 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*:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-with-role --node-count 1 --min-nodes 1 --max-nodes 5 --role custom
|
||||
connectVM coe nodegroup create k8s-cluster nodegroup-with-role --node-count 1 --min-nodes 1 --max-nodes 5 --role custom
|
||||
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
connectVM 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.
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create k8s-cluster nodegroup-with-role-2 --node-count 1 --min-nodes 1 --max-nodes 5 --role custom,worker
|
||||
connectVM coe nodegroup create k8s-cluster nodegroup-with-role-2 --node-count 1 --min-nodes 1 --max-nodes 5 --role custom,worker
|
||||
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-with-role
|
||||
connectVM coe nodegroup delete k8s-cluster nodegroup-with-role
|
||||
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-with-role-2
|
||||
connectVM coe nodegroup delete k8s-cluster nodegroup-with-role-2
|
||||
|
||||
3Engines coe nodegroup delete k8s-cluster nodegroup-without-role
|
||||
connectVM coe nodegroup delete k8s-cluster nodegroup-without-role
|
||||
|
||||
```
|
||||
|
||||
Once again, see the result:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list k8s-cluster -c name -c node_count -c status -c role
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster template show k8s-stable-1.23.5 -c labels -f yaml
|
||||
connectVM 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 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.
|
||||
In essence, you create object store under connectVM, either using Horizon or Swift module of **connectVM** 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.
|
||||
|
||||
@ -26,15 +26,15 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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/>.
|
||||
The resources that you require and use will reflect on the state of your account wallet. Check your account statistics at <https://portal.connectVM.com/>.
|
||||
|
||||
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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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:
|
||||
|
||||
@ -54,24 +54,24 @@ No. 3 **Handling Helm**
|
||||
|
||||
To install Velero, we shall use Helm:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md).
|
||||
|
||||
No. 4 **An object storage S3 bucket available**
|
||||
|
||||
To create one, you can access object storage with Horizon interface or CLI.
|
||||
|
||||
Horizon commands
|
||||
: [How to use Object Storage on 3Engines Cloud](../s3/How-to-use-Object-Storage-on-3Engines-Cloud.html.md).
|
||||
: [How to use Object Storage on connectVM Cloud](../s3/How-to-use-Object-Storage-on-connectVM-Cloud.html.md).
|
||||
|
||||
CLI
|
||||
: You can also use command such as
|
||||
|
||||
```
|
||||
3Engines container
|
||||
connectVM container
|
||||
|
||||
```
|
||||
|
||||
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)
|
||||
to work with object storage. For more information see [How to access object storage using connectVM CLI on connectVM Cloud](../connectVMcli/How-to-access-object-storage-using-connectVM-CLI-on-connectVM-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 3Engines. They are necessary to access private bucket (container). Generate them on your own by executing the following commands:
|
||||
First fetch EC2 credentials from connectVM. They are necessary to access private bucket (container). Generate them on your own by executing the following commands:
|
||||
|
||||
```
|
||||
3Engines ec2 credentials create
|
||||
3Engines ec2 credentials list
|
||||
connectVM ec2 credentials create
|
||||
connectVM ec2 credentials list
|
||||
|
||||
```
|
||||
|
||||
@ -134,12 +134,12 @@ 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 3Engines
|
||||
> bucket: ## enter name of bucket created in connectVM
|
||||
> default: true
|
||||
> config:
|
||||
> region: default
|
||||
> s3ForcePathStyle: true
|
||||
> s3Url: ## enter URL of object storage (for example "https://s3.waw4-1.3Engines.com")
|
||||
> s3Url: ## enter URL of object storage (for example "https://s3.waw4-1.connectVM.com")
|
||||
> credentials:
|
||||
> secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
> cloud: |
|
||||
@ -176,12 +176,12 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
bucket: ## enter name of bucket created in connectVM
|
||||
default: true
|
||||
config:
|
||||
region: waw3-1
|
||||
s3ForcePathStyle: true
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.waw3-1.3Engines.com")
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.waw3-1.connectVM.com")
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -218,12 +218,12 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
bucket: ## enter name of bucket created in connectVM
|
||||
default: true
|
||||
config:
|
||||
region: default
|
||||
s3ForcePathStyle: true
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.waw3-2.3Engines.com")
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.waw3-2.connectVM.com")
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -260,12 +260,12 @@ configuration:
|
||||
backupStorageLocation:
|
||||
provider: aws
|
||||
name: ## enter name of backup storage location (could be anything)
|
||||
bucket: ## enter name of bucket created in 3Engines
|
||||
bucket: ## enter name of bucket created in connectVM
|
||||
default: true
|
||||
config:
|
||||
region: default
|
||||
s3ForcePathStyle: true
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.fra1-2.3Engines.com")
|
||||
s3Url: ## enter URL of object storage (for example "https://s3.fra1-2.connectVM.com")
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -313,7 +313,7 @@ configuration:
|
||||
config:
|
||||
region: default
|
||||
s3ForcePathStyle: true
|
||||
s3Url: https://s3.waw4-1.3Engines.com
|
||||
s3Url: https://s3.waw4-1.connectVM.com
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -355,7 +355,7 @@ configuration:
|
||||
config:
|
||||
region: waw3-1
|
||||
s3ForcePathStyle: true
|
||||
s3Url: https://s3.waw3-1.3Engines.com
|
||||
s3Url: https://s3.waw3-1.connectVM.com
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -397,7 +397,7 @@ configuration:
|
||||
config:
|
||||
region: default
|
||||
s3ForcePathStyle: true
|
||||
s3Url: https://s3.waw3-2.3Engines.com
|
||||
s3Url: https://s3.waw3-2.connectVM.com
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
@ -439,7 +439,7 @@ configuration:
|
||||
config:
|
||||
region: default
|
||||
s3ForcePathStyle: true
|
||||
s3Url: https://s3.fra1-2.3Engines.com
|
||||
s3Url: https://s3.fra1-2.connectVM.com
|
||||
credentials:
|
||||
secretContents: ## enter access and secret key to ec2 bucket. This configuration will create kubernetes secret.
|
||||
cloud: |
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
CI/CD pipelines with GitLab on 3Engines Cloud Kubernetes - building a Docker image[🔗](#ci-cd-pipelines-with-gitlab-on-brand-name-kubernetes-building-a-docker-image "Permalink to this headline")
|
||||
CI/CD pipelines with GitLab on connectVM Cloud Kubernetes - building a Docker image[🔗](#ci-cd-pipelines-with-gitlab-on-brand-name-kubernetes-building-a-docker-image "Permalink to this headline")
|
||||
===================================================================================================================================================================================================
|
||||
|
||||
GitLab provides an isolated, private code registry and space for collaboration on code by teams. It also offers a broad range of code deployment automation capabilities. In this article, we will explain how to automate building a Docker image of your app.
|
||||
@ -17,17 +17,17 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Kubernetes cluster**
|
||||
|
||||
[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 Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 3 **Local version of GitLab available**
|
||||
|
||||
Your local instance of GitLab is available and properly accessible by your GitLab user.
|
||||
|
||||
In this article we assume the setup according to this article [Install GitLab on 3Engines Cloud Kubernetes](Install-GitLab-on-3Engines-Cloud-Kubernetes.html.md). If you use a different instance of GitLab, there can be some differences e.g. where certain functionalities are located in the GUI.
|
||||
In this article we assume the setup according to this article [Install GitLab on connectVM Cloud Kubernetes](Install-GitLab-on-connectVM-Cloud-Kubernetes.html.md). If you use a different instance of GitLab, there can be some differences e.g. where certain functionalities are located in the GUI.
|
||||
|
||||
In this article, we shall be using **gitlab.mysampledomain.info** as the gitlab instance. Be sure to replace it with your own domain.
|
||||
|
||||
@ -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 3Engines 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 connectVM Horizon to create one. For reference see:
|
||||
|
||||
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)
|
||||
See [How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-Cloud.html.md)
|
||||
|
||||
Here, we use the key pair to connect to GitLab instance that we previously installed in Prerequisite No. 3.
|
||||
|
||||
@ -81,7 +81,7 @@ You should see an output similar to the following:
|
||||
Step 2 Create project in GitLab and add sample application code[🔗](#step-2-create-project-in-gitlab-and-add-sample-application-code "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
We will first add a sample application in GitLab. This is a minimal Python-Flask application, its code can be downloaded from this 3Engines Cloud [GitHub repository accompanying this Knowledge Base](https://github.com/3Engines/K8s-samples/tree/main/HelloWorld-Docker-image-Flask).
|
||||
We will first add a sample application in GitLab. This is a minimal Python-Flask application, its code can be downloaded from this connectVM Cloud [GitHub repository accompanying this Knowledge Base](https://github.com/connectVM/K8s-samples/tree/main/HelloWorld-Docker-image-Flask).
|
||||
|
||||
As a first step in this section, we will initiate the GitLab remote origin. Login to GitLab GUI and enter the default screen, click on button “New Project”, then “Create blank project”. It will transfer you to the view below.
|
||||
|
||||
@ -95,7 +95,7 @@ If there already are some users defined in GitLab, their names will appear in a
|
||||
|
||||
Enter your preferred project name and slug, in our case “GitLabCI Sample” and “GitLabCI-sample”, respectively. Choose the visibility level to your preference. Uncheck box “Initialize repository with a README”, because we will initiate the repository from the existing code. (We are not initializing the repo, we are only establishing the project in the origin.)
|
||||
|
||||
After submitting the “Create project” form, you will receive a list of commands to work with your repo. Review them and switch to the CLI. Clone the entire 3Engines K8s samples repo, then extract the sub-folder called *HelloWorld-Docker-image-Flask*. For clarity, we rename its contents to a new folder, **GitLabCI-sample**. Use
|
||||
After submitting the “Create project” form, you will receive a list of commands to work with your repo. Review them and switch to the CLI. Clone the entire connectVM K8s samples repo, then extract the sub-folder called *HelloWorld-Docker-image-Flask*. For clarity, we rename its contents to a new folder, **GitLabCI-sample**. Use
|
||||
|
||||
```
|
||||
mkdir ~/GitLabCI-sample
|
||||
@ -105,7 +105,7 @@ mkdir ~/GitLabCI-sample
|
||||
if this is the first time you are working through this article, so the folder would be ready for the following set of commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/3Engines/K8s-samples
|
||||
git clone https://github.com/connectVM/K8s-samples
|
||||
mv ~/K8s-samples/HelloWorld-Docker-image-Flask/* ~/GitLabCI-sample
|
||||
rm K8s-samples/ -rf
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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")
|
||||
Configuring IP Whitelisting for connectVM Load Balancer using Horizon and CLI on connectVM Cloud[🔗](#configuring-ip-whitelisting-for-connectVM-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 3Engines 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 connectVM 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")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -14,7 +14,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **List of IP addresses/ranges to whitelist**
|
||||
|
||||
@ -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 3Engines 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 connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster show <your_cluster_id> \
|
||||
connectVM coe cluster show <your_cluster_id> \
|
||||
-f value -c stack_id \
|
||||
<stack_id for example 12345678-1234-1234-1234-123456789011>
|
||||
|
||||
@ -83,7 +83,7 @@ Now execute the commands:
|
||||
To find **LB\_ID**
|
||||
|
||||
```
|
||||
3Engines stack resource list <your_stack_id> \
|
||||
connectVM 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 @@ To find **LB\_ID**
|
||||
With that information, now we can check our **listener\_id**; it is to this component that we will attach the whitelist:
|
||||
|
||||
```
|
||||
3Engines loadbalancer \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines loadbalancer listener set \
|
||||
connectVM 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 3Engines Load Balancer using Terraform on 3Engines Cloud](Configuring-IP-Whitelisting-for-3Engines-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 connectVM Load Balancer using Terraform on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Terraform-on-connectVM-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)
|
||||
Also, compare with [Implementing IP Whitelisting for Load Balancers with Security Groups on connectVM Cloud](Implementing-IP-Whitelisting-for-Load-Balancers-with-Security-Groups-on-connectVM-Cloud.html.md)
|
||||
@ -1,7 +1,7 @@
|
||||
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")
|
||||
Configuring IP Whitelisting for connectVM Load Balancer using Terraform on connectVM Cloud[🔗](#configuring-ip-whitelisting-for-connectVM-load-balancer-using-terraform-on-brand-name "Permalink to this headline")
|
||||
===================================================================================================================================================================================================================
|
||||
|
||||
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.
|
||||
This guide explains how to configure IP whitelisting (**allowed\_cidrs**) on an existing connectVM 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")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -17,26 +17,26 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Basic parameters already defined for whitelisting**
|
||||
|
||||
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.
|
||||
See article [Configuring IP Whitelisting for connectVM Load Balancer using Horizon and CLI on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Horizon-and-CLI-on-connectVM-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 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)
|
||||
For complete introduction and installation of Terrafom on connectVM see article [Generating and authorizing Terraform using Keycloak user on connectVM Cloud](../connectVMdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-connectVM-Cloud.html.md)
|
||||
|
||||
No. 4 **Unrestricted application credentials**
|
||||
|
||||
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)
|
||||
You need to have connectVM application credentials with unrestricted checkbox. Check article [How to generate or use Application Credentials via CLI on connectVM Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-connectVM-Cloud.html.md)
|
||||
|
||||
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:
|
||||
The first part of that article describes how to have installed connectVM 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:
|
||||
|
||||
```
|
||||
3Engines application credential create cred_unrestricted --unrestricted
|
||||
connectVM 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 **3Engines\_auth.sh**
|
||||
Create file **connectVM\_auth.sh**
|
||||
|
||||
```
|
||||
export OS_AUTH_URL="https://your-3Engines-url:5000/v3"
|
||||
export OS_AUTH_URL="https://your-connectVM-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 {
|
||||
3Engines = {
|
||||
source = "terraform-provider-3Engines/3Engines"
|
||||
connectVM = {
|
||||
source = "terraform-provider-connectVM/connectVM"
|
||||
version = "1.47.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "3Engines" {
|
||||
provider "connectVM" {
|
||||
use_octavia = true # Required for Load Balancer v2 API
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ provider "3Engines" {
|
||||
```
|
||||
variable "ID_OF_LOADBALANCER" {
|
||||
type = string
|
||||
description = "ID of the existing 3Engines Load Balancer"
|
||||
description = "ID of the existing connectVM Load Balancer"
|
||||
}
|
||||
|
||||
variable "allowed_cidrs" {
|
||||
@ -127,7 +127,7 @@ allowed_cidrs = [
|
||||
**lb.tf**
|
||||
|
||||
```
|
||||
resource "3Engines_lb_listener_v2" "k8s_api_listener" {
|
||||
resource "connectVM_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 = 3Engines_lb_listener_v2.k8s_api_listener
|
||||
to = connectVM_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 3Engines_lb_listener_v2.k8s_api_listener "<your-listener-id>"
|
||||
terraform import connectVM_lb_listener_v2.k8s_api_listener "<your-listener-id>"
|
||||
|
||||
```
|
||||
|
||||
@ -176,8 +176,8 @@ terraform apply generated_listener.tf
|
||||
|
||||
```
|
||||
Terraform apply generated_listener.tf
|
||||
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]
|
||||
connectVM_lb_listener_v2.k8s_api_listener: Preparing import... [id=bbf39f1c-6936-4344-9957-7517d4a979b6]
|
||||
connectVM_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:
|
||||
|
||||
# 3Engines_lb_listener_v2.k8s_api_listener will be updated in-place
|
||||
# connectVM_lb_listener_v2.k8s_api_listener will be updated in-place
|
||||
# (imported from "bbf39f1c-6936-4344-9957-7517d4a979b6")
|
||||
~ resource "3Engines_lb_listener_v2" "k8s_api_listener" {
|
||||
~ resource "connectVM_lb_listener_v2" "k8s_api_listener" {
|
||||
admin_state_up = true
|
||||
~ allowed_cidrs = [
|
||||
+ "10.0.0.1/32",
|
||||
@ -271,4 +271,4 @@ curl: (28) Connection timed out after 5000 milliseconds
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
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)
|
||||
Compare with [Implementing IP Whitelisting for Load Balancers with Security Groups on connectVM Cloud](Implementing-IP-Whitelisting-for-Load-Balancers-with-Security-Groups-on-connectVM-Cloud.html.md)
|
||||
@ -1,4 +1,4 @@
|
||||
Create and access NFS server from Kubernetes on 3Engines Cloud[🔗](#create-and-access-nfs-server-from-kubernetes-on-brand-name "Permalink to this headline")
|
||||
Create and access NFS server from Kubernetes on connectVM Cloud[🔗](#create-and-access-nfs-server-from-kubernetes-on-brand-name "Permalink to this headline")
|
||||
=============================================================================================================================================================
|
||||
|
||||
In order to enable simultaneous read-write storage to multiple pods running on a Kubernetes cluster, we can use an NFS server.
|
||||
@ -18,28 +18,28 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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/>.
|
||||
The resources that you require and use will reflect on the state of your account wallet. Check your account statistics at <https://portal.connectVM.com/>.
|
||||
|
||||
No. 2 **Familiarity with Linux and cloud management**
|
||||
|
||||
We assume you know the basics of Linux and 3Engines Cloud cloud management:
|
||||
We assume you know the basics of Linux and connectVM Cloud cloud management:
|
||||
|
||||
* Creating, accessing and using virtual machines
|
||||
[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)
|
||||
[How to create new Linux VM in connectVM Dashboard Horizon on connectVM Cloud](../cloud/How-to-create-new-Linux-VM-in-connectVM-Dashboard-Horizon-on-connectVM-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)
|
||||
* Creating security groups [How to use Security Groups in Horizon on connectVM Cloud](../cloud/How-to-use-Security-Groups-in-Horizon-on-connectVM-Cloud.html.md)
|
||||
|
||||
* Attaching floating IPs [How to Add or Remove Floating IP’s to your VM on 3Engines Cloud](../networking/How-to-Add-or-Remove-Floating-IPs-to-your-VM-on-3Engines-Cloud.html.md)
|
||||
* Attaching floating IPs [How to Add or Remove Floating IP’s to your VM on connectVM Cloud](../networking/How-to-Add-or-Remove-Floating-IPs-to-your-VM-on-connectVM-Cloud.html.md)
|
||||
|
||||
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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 3Engines Magnum[🔗](#creating-additional-nodegroups-in-kubernetes-cluster-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
Creating Additional Nodegroups in Kubernetes Cluster on connectVM Cloud connectVM Magnum[🔗](#creating-additional-nodegroups-in-kubernetes-cluster-on-brand-name-connectVM-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 **3Engines coe nodelist**
|
||||
> * The structure of command **connectVM 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
|
||||
@ -36,35 +36,35 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Creating clusters with CLI**
|
||||
|
||||
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.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
No. 3 **Connect 3Engines client to the cloud**
|
||||
No. 3 **Connect connectVM client to the cloud**
|
||||
|
||||
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)
|
||||
Prepare **connectVM** and **magnum** clients by executing *Step 2 Connect connectVM and Magnum Clients to Horizon Cloud* from article [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-Cloud-Horizon.html.md)
|
||||
|
||||
No. 4 **Check available quotas**
|
||||
|
||||
Before creating additional node groups check the state of the resources with Horizon commands **Computer** => **Overview**. See [Dashboard Overview – Project Quotas And Flavors Limits on 3Engines Cloud](../cloud/Dashboard-Overview-Project-Quotas-And-Flavors-Limits-on-3Engines-Cloud.html.md).
|
||||
Before creating additional node groups check the state of the resources with Horizon commands **Computer** => **Overview**. See [Dashboard Overview – Project Quotas And Flavors Limits on connectVM Cloud](../cloud/Dashboard-Overview-Project-Quotas-And-Flavors-Limits-on-connectVM-Cloud.html.md).
|
||||
|
||||
Nodegroup Subcommands[🔗](#nodegroup-subcommands "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Once you create a Kubernetes cluster on 3Engines Magnum, there are five *nodegroup* commands at your disposal:
|
||||
Once you create a Kubernetes cluster on connectVM Magnum, there are five *nodegroup* commands at your disposal:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create
|
||||
connectVM coe nodegroup create
|
||||
|
||||
3Engines coe nodegroup delete
|
||||
connectVM coe nodegroup delete
|
||||
|
||||
3Engines coe nodegroup list
|
||||
connectVM coe nodegroup list
|
||||
|
||||
3Engines coe nodegroup show
|
||||
connectVM coe nodegroup show
|
||||
|
||||
3Engines coe nodegroup update
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster list --max-width 120
|
||||
connectVM coe cluster list --max-width 120
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
The default process of creating Kubernetes clusters on 3Engines Magnum produces two nodegroups, **default-master** and **default-worker**. Use commands
|
||||
The default process of creating Kubernetes clusters on connectVM Magnum produces two nodegroups, **default-master** and **default-worker**. Use commands
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list kubelbtrue
|
||||
connectVM coe nodegroup list kubelbtrue
|
||||
|
||||
3Engines coe nodegroup list k8s-cluster
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create [-h]
|
||||
connectVM 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 @@ In this step you learn about the parameters available for the **nodegroup create
|
||||
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*:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create \
|
||||
connectVM coe nodegroup create \
|
||||
--node-count 2 \
|
||||
--role test \
|
||||
k8s-cluster testing
|
||||
@ -130,7 +130,7 @@ k8s-cluster testing
|
||||
Then use the command
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list k8s-cluster
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list k8s-cluster --role test
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup show --max-width 80 k8s-cluster testing
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup delete k8s-cluster cirros
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup update k8s-cluster testing replace min_node_count=1
|
||||
connectVM 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**:
|
||||
|
||||
```
|
||||
3Engines coe cluster resize k8s-cluster --nodegroup testing 1
|
||||
connectVM coe cluster resize k8s-cluster --nodegroup testing 1
|
||||
|
||||
```
|
||||
|
||||
To see the result, apply the command
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list --max-width 120 k8s-cluster
|
||||
connectVM coe nodegroup list --max-width 120 k8s-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Default Kubernetes cluster templates in 3Engines Cloud Cloud[🔗](#default-kubernetes-cluster-templates-in-brand-name-cloud "Permalink to this headline")
|
||||
Default Kubernetes cluster templates in connectVM Cloud Cloud[🔗](#default-kubernetes-cluster-templates-in-brand-name-cloud "Permalink to this headline")
|
||||
=========================================================================================================================================================
|
||||
|
||||
In this article we shall list Kubernetes cluster templates available on 3Engines Cloud and explain the differences among them.
|
||||
In this article we shall list Kubernetes cluster templates available on connectVM Cloud and explain the differences among them.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -17,11 +17,11 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
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 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).
|
||||
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 connectVM dashboard: [How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-Cloud.html.md).
|
||||
|
||||
No. 3 **Documentation for standard templates**
|
||||
|
||||
@ -37,13 +37,13 @@ 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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
The general procedure is explained in [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 5 **Using vGPU in Kubernetes clusters**
|
||||
|
||||
If template name contains “vgpu”, this template can be used to create so-called “vGPU-first” clusters.
|
||||
|
||||
To learn how to set up vGPU in Kubernetes clusters on 3Engines Cloud cloud, see [Deploying vGPU workloads on 3Engines Cloud Kubernetes](Deploying-vGPU-workloads-on-3Engines-Cloud-Kubernetes.html.md).
|
||||
To learn how to set up vGPU in Kubernetes clusters on connectVM Cloud cloud, see [Deploying vGPU workloads on connectVM Cloud Kubernetes](Deploying-vGPU-workloads-on-connectVM-Cloud-Kubernetes.html.md).
|
||||
|
||||
Templates available on your cloud[🔗](#templates-available-on-your-cloud "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------
|
||||
@ -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 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:
|
||||
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 connectVM Cloud connectVM 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 |
|
||||
| --- | --- |
|
||||
@ -105,7 +105,7 @@ You can also dig deeper and choose the template according to the the network plu
|
||||
|
||||
### Network plugins for Kubernetes clusters[🔗](#network-plugins-for-kubernetes-clusters "Permalink to this headline")
|
||||
|
||||
Kubernetes cluster templates at 3Engines Cloud cloud use *calico* or *cilium* plugins for controlling network traffic. Both are [CNI](https://www.cncf.io/projects/kubernetes/) compliant. *Calico* is the default plugin, meaning that if the template name does not specify the plugin, the *calico* driver is used. If the template name specifies *cilium* then, of course, the *cilium* driver is used.
|
||||
Kubernetes cluster templates at connectVM Cloud cloud use *calico* or *cilium* plugins for controlling network traffic. Both are [CNI](https://www.cncf.io/projects/kubernetes/) compliant. *Calico* is the default plugin, meaning that if the template name does not specify the plugin, the *calico* driver is used. If the template name specifies *cilium* then, of course, the *cilium* driver is used.
|
||||
|
||||
### Calico (the default)[🔗](#calico-the-default "Permalink to this headline")
|
||||
|
||||
@ -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:
|
||||
|
||||
```
|
||||
3Engines flavor list
|
||||
connectVM flavor list
|
||||
+--------------+--------+------+-----------+-------+
|
||||
| Name | RAM | Disk | Ephemeral | VCPUs |
|
||||
+--------------+--------+------+-----------+-------+
|
||||
@ -1,4 +1,4 @@
|
||||
Deploy Keycloak on Kubernetes with a sample app on 3Engines Cloud[🔗](#deploy-keycloak-on-kubernetes-with-a-sample-app-on-brand-name "Permalink to this headline")
|
||||
Deploy Keycloak on Kubernetes with a sample app on connectVM Cloud[🔗](#deploy-keycloak-on-kubernetes-with-a-sample-app-on-brand-name "Permalink to this headline")
|
||||
===================================================================================================================================================================
|
||||
|
||||
[Keycloak](https://www.keycloak.org/) is a large Open-Source Identity Management suite capable of handling a wide range of identity-related use cases.
|
||||
@ -17,11 +17,11 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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 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).
|
||||
A Kubernetes cluster, to create one refer to: [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md). To activate **kubectl**, see [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 3 **Basic knowledge of Python and pip package management**
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
Deploying HTTPS Services on Magnum Kubernetes in 3Engines Cloud Cloud[🔗](#deploying-https-services-on-magnum-kubernetes-in-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
Deploying HTTPS Services on Magnum Kubernetes in connectVM Cloud Cloud[🔗](#deploying-https-services-on-magnum-kubernetes-in-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
======================================================================================================================================================================================
|
||||
|
||||
Kubernetes makes it very quick to deploy and publicly expose an application, for example using the LoadBalancer service type. Sample deployments, which demonstrate such capability, are usually served with HTTP. Deploying a production-ready service, secured with HTTPS, can also be done smoothly, by using additional tools.
|
||||
|
||||
In this article, we show how to deploy a sample HTTPS-protected service on 3Engines Cloud cloud.
|
||||
In this article, we show how to deploy a sample HTTPS-protected service on connectVM Cloud cloud.
|
||||
|
||||
What We are Going to Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -20,25 +20,25 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Kubernetes cluster deployed on** **cloud, with NGINX Ingress enabled**
|
||||
|
||||
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)
|
||||
See this article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Kubernetes Ingress feature**
|
||||
|
||||
It is explained in article [Using Kubernetes Ingress on 3Engines Cloud 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
It is explained in article [Using Kubernetes Ingress on connectVM Cloud connectVM Magnum](Using-Kubernetes-Ingress-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 5 **Familiarity with deploying Helm charts**
|
||||
|
||||
See this article:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 6 **Must have domain purchased from a registrar**
|
||||
|
||||
@ -48,7 +48,7 @@ No. 7 **Use DNS command Horizon to connect to the domain name**
|
||||
|
||||
This is optional. Here is the article with detailed information:
|
||||
|
||||
[DNS as a Service on 3Engines Cloud Hosting](../cloud/DNS-as-a-Service-on-3Engines-Cloud-Hosting.html.md)
|
||||
[DNS as a Service on connectVM Cloud Hosting](../cloud/DNS-as-a-Service-on-connectVM-Cloud-Hosting.html.md)
|
||||
|
||||
Step 1 Install Cert Manager’s Custom Resource Definitions (CRDs)[🔗](#step-1-install-cert-manager-s-custom-resource-definitions-crds "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@ -90,7 +90,7 @@ orders.acme.cert-manager.io 2022-12-18T11:15:08Z
|
||||
|
||||
Warning
|
||||
|
||||
Magnum introduces a few pod security policies (PSP) which provide some extra safety precautions for the cluster, but will cause conflict with the CertManager Helm chart. PodSecurityPolicy is deprecated until Kubernetes v. 1.25, but still supported in version of Kubernetes 1.21 to 1.23 available on 3Engines Cloud cloud. The commands below may produce warnings about deprecation but the installation should continue nevertheless.
|
||||
Magnum introduces a few pod security policies (PSP) which provide some extra safety precautions for the cluster, but will cause conflict with the CertManager Helm chart. PodSecurityPolicy is deprecated until Kubernetes v. 1.25, but still supported in version of Kubernetes 1.21 to 1.23 available on connectVM Cloud cloud. The commands below may produce warnings about deprecation but the installation should continue nevertheless.
|
||||
|
||||
Step 2 Install CertManager Helm chart[🔗](#step-2-install-certmanager-helm-chart "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
@ -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 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md) shows how to create an HTTP based service or a site.
|
||||
The article [Using Kubernetes Ingress on connectVM Cloud connectVM Magnum](Using-Kubernetes-Ingress-on-connectVM-Cloud-connectVM-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).
|
||||
If you need additional information on Helm charts: [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud[🔗](#deploying-helm-charts-on-magnum-kubernetes-clusters-on-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud[🔗](#deploying-helm-charts-on-magnum-kubernetes-clusters-on-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
==================================================================================================================================================================================================
|
||||
|
||||
Kubernetes is a robust and battle-tested environment for running apps and services, yet it could be time consuming to manually provision all resources required to run a production-ready deployment. This article introduces [Helm](https://helm.sh/) as a package manager for Kubernetes. With it, you will be able to quickly deploy complex Kubernetes applications, consisting of code, databases, user interfaces and more.
|
||||
@ -18,7 +18,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Basic understanding of Kubernetes**
|
||||
|
||||
@ -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 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).
|
||||
For trying out Helm installation and deployment in an actual environment, create a cluster on cloud using connectVM Magnum [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 5 **Access to Ubuntu to run code on**
|
||||
|
||||
@ -38,11 +38,11 @@ Code samples in this article assume you are running Ubuntu 20.04 LTS or similar
|
||||
|
||||
> * Windows with Linux subsystem,
|
||||
> * genuine desktop Ubuntu operating system or you can also
|
||||
> * create a virtual machine in the 3Engines Cloud cloud and run the examples from there. These articles will provide technical know-how if you need it:
|
||||
> * create a virtual machine in the connectVM Cloud cloud and run the examples from there. These articles will provide technical know-how if you need it:
|
||||
|
||||
[How to create a Linux VM and access it from Windows desktop on 3Engines Cloud](../cloud/How-to-create-a-Linux-VM-and-access-it-from-Windows-desktop-on-3Engines-Cloud.html.md)
|
||||
[How to create a Linux VM and access it from Windows desktop on connectVM Cloud](../cloud/How-to-create-a-Linux-VM-and-access-it-from-Windows-desktop-on-connectVM-Cloud.html.md)
|
||||
|
||||
[How to create a Linux VM and access it from Linux command line on 3Engines Cloud](../cloud/How-to-create-a-Linux-VM-and-access-it-from-Linux-command-line-on-3Engines-Cloud.html.md)
|
||||
[How to create a Linux VM and access it from Linux command line on connectVM Cloud](../cloud/How-to-create-a-Linux-VM-and-access-it-from-Linux-command-line-on-connectVM-Cloud.html.md)
|
||||
|
||||
Background - How Helm works[🔗](#background-how-helm-works "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -238,4 +238,4 @@ Remember that a chart deployed with Helm is, in the end, just a set of Kubernete
|
||||
|
||||
The following article will show how to use JetStack repo to install CertManager, with which you can deploy HTTPS services on Kubernetes cloud:
|
||||
|
||||
[Deploying HTTPS Services on Magnum Kubernetes in 3Engines Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-3Engines-Cloud-Cloud.html.md)
|
||||
[Deploying HTTPS Services on Magnum Kubernetes in connectVM Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-connectVM-Cloud-Cloud.html.md)
|
||||
@ -1,4 +1,4 @@
|
||||
Deploying vGPU workloads on 3Engines Cloud Kubernetes[🔗](#deploying-vgpu-workloads-on-brand-name-kubernetes "Permalink to this headline")
|
||||
Deploying vGPU workloads on connectVM Cloud Kubernetes[🔗](#deploying-vgpu-workloads-on-brand-name-kubernetes "Permalink to this headline")
|
||||
===========================================================================================================================================
|
||||
|
||||
Utilizing GPU (Graphical Processing Units) presents a highly efficient alternative for fast, highly parallel processing of demanding computational tasks such as image processing, machine learning and many others.
|
||||
@ -22,13 +22,13 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Knowledge of RC files and CLI commands for Magnum**
|
||||
|
||||
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
|
||||
You should be familiar with utilizing connectVM CLI and Magnum CLI. Your RC file should be sourced and pointing to your project in connectVM. See 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).
|
||||
[How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
To connect to the cluster via **kubectl** tool, see this article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 4 **Familiarity with the notion of nodegroups**
|
||||
|
||||
[Creating Additional Nodegroups in Kubernetes Cluster on 3Engines Cloud 3Engines Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
[Creating Additional Nodegroups in Kubernetes Cluster on connectVM Cloud connectVM Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-connectVM-Cloud-connectVM-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 3Engines Magnum.
|
||||
: WAW3-1 supports both four GPU flavors and the Kubernetes, through connectVM 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 3Engines Magnum:
|
||||
: These are the vGPU flavors for WAW3-2 and Kubernetes, through connectVM 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 3Engines Magnum.
|
||||
: FRA1-2 Supports L40S and the Kubernetes, through connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create $CLUSTER_ID gpu \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list $CLUSTER_ID_RECENT \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list $CLUSTER_ID_OLDER \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup create $CLUSTER_ID_OLDER gpu \
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list $CLUSTER_ID_OLDER --max-width 120
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster create k8s-gpu-with_template \
|
||||
connectVM coe cluster create k8s-gpu-with_template \
|
||||
--cluster-template "k8s-1.23.16-vgpu-v1.0.0" \
|
||||
--keypair=$KEYPAIR \
|
||||
--master-count 1 \
|
||||
@ -271,7 +271,7 @@ and the result will look like this:
|
||||
Also, GPU workers are tainted by default with the taint:
|
||||
|
||||
```
|
||||
node.3Engines.com/type=gpu:NoSchedule
|
||||
node.connectVM.com/type=gpu:NoSchedule
|
||||
|
||||
```
|
||||
|
||||
@ -306,7 +306,7 @@ spec:
|
||||
operator: Exists
|
||||
effect: NoSchedule
|
||||
- effect: NoSchedule
|
||||
key: node.3Engines.com/type
|
||||
key: node.connectVM.com/type
|
||||
operator: Equal
|
||||
value: gpu
|
||||
|
||||
@ -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:
|
||||
|
||||
```
|
||||
3Engines coe cluster \
|
||||
connectVM 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"
|
||||
3Engines coe nodegroup create $CLUSTER_ID default \
|
||||
connectVM coe nodegroup create $CLUSTER_ID default \
|
||||
--labels "worker_type=default" \
|
||||
--merge-labels \
|
||||
--role worker \
|
||||
@ -380,7 +380,7 @@ export IMAGE_ID="42696e90-57af-4124-8e20-d017a44d6e24"
|
||||
Then list the nodegroup contents to see whether the creation succeeded:
|
||||
|
||||
```
|
||||
3Engines coe nodegroup list $CLUSTER_ID \
|
||||
connectVM coe nodegroup list $CLUSTER_ID \
|
||||
--max-width 120
|
||||
|
||||
```
|
||||
@ -1,4 +1,4 @@
|
||||
Enable Kubeapps app launcher on 3Engines Cloud Magnum Kubernetes cluster[🔗](#enable-kubeapps-app-launcher-on-brand-name-magnum-kubernetes-cluster "Permalink to this headline")
|
||||
Enable Kubeapps app launcher on connectVM Cloud Magnum Kubernetes cluster[🔗](#enable-kubeapps-app-launcher-on-brand-name-magnum-kubernetes-cluster "Permalink to this headline")
|
||||
=================================================================================================================================================================================
|
||||
|
||||
[Kubeapps](https://kubeapps.dev/) app-launcher enables quick deployments of applications on your Kubernetes cluster, with convenient graphical user interface. In this article we provide guidelines for creating Kubernetes cluster with Kubeapps feature enabled, and deploying sample applications.
|
||||
@ -17,23 +17,23 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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/>.
|
||||
The resources that you require and use will reflect on the state of your account wallet. Check your account statistics at <https://portal.connectVM.com/>.
|
||||
|
||||
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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
Know how to create a Kubernetes cluster from Horizon GUI, as described in article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 4 **Handling Helm**
|
||||
|
||||
Some familiarity with Helm, to customize app deployments with Kubeapps. See [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md).
|
||||
Some familiarity with Helm, to customize app deployments with Kubeapps. See [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md).
|
||||
|
||||
No. 5 **Access to 3Engines clouds**
|
||||
No. 5 **Access to connectVM clouds**
|
||||
|
||||
Kubeapps is available on one of the clouds: WAW3-2, FRA1-2, WAW3-1.
|
||||
|
||||
@ -139,10 +139,10 @@ The results will be similar to this:
|
||||
Current limitations[🔗](#current-limitations "Permalink to this headline")
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Both Kubeapps and Helm charts deployed by this launcher are open-source projects, which are continuously evolving. The versions installed on 3Engines Cloud cloud provide a snapshot of this development, as a convenience feature.
|
||||
Both Kubeapps and Helm charts deployed by this launcher are open-source projects, which are continuously evolving. The versions installed on connectVM Cloud cloud provide a snapshot of this development, as a convenience feature.
|
||||
|
||||
It is expected that not all applications can be installed with one-click and additional configuration will be needed in each particular case.
|
||||
|
||||
One known limitation is that certain charts will require RWM (ReadWriteMany) persistent volume claims to properly operate. Currently, RWM persistent volumes are not natively available on 3Engines Cloud cloud. A workaround could be installing NFS server and deploying a StorageClass with RWM-supportive provisioner e.g. using [nfs-subdir-external-provisioner](https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner) project from GitHub.
|
||||
One known limitation is that certain charts will require RWM (ReadWriteMany) persistent volume claims to properly operate. Currently, RWM persistent volumes are not natively available on connectVM Cloud cloud. A workaround could be installing NFS server and deploying a StorageClass with RWM-supportive provisioner e.g. using [nfs-subdir-external-provisioner](https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner) project from GitHub.
|
||||
|
||||
For NFS on Kubernetes cluster, see [Create and access NFS server from Kubernetes on 3Engines Cloud](Create-and-access-NFS-server-from-Kubernetes-on-3Engines-Cloud.html.md).
|
||||
For NFS on Kubernetes cluster, see [Create and access NFS server from Kubernetes on connectVM Cloud](Create-and-access-NFS-server-from-Kubernetes-on-connectVM-Cloud.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
GitOps with Argo CD on 3Engines Cloud Kubernetes[🔗](#gitops-with-argo-cd-on-brand-name-kubernetes "Permalink to this headline")
|
||||
GitOps with Argo CD on connectVM Cloud Kubernetes[🔗](#gitops-with-argo-cd-on-brand-name-kubernetes "Permalink to this headline")
|
||||
=================================================================================================================================
|
||||
|
||||
Argo CD is a continuous deployment tool for Kubernetes, designed with GitOps and Infrastructure as Code (IaC) principles in mind. It automatically ensures that the state of applications deployed on a Kubernetes cluster is always in sync with a dedicated Git repository where we define such desired state.
|
||||
@ -19,25 +19,25 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Kubernetes cluster**
|
||||
|
||||
[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 Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 3 **Access to cluster with kubectl**
|
||||
|
||||
[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)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Helm**
|
||||
|
||||
Here is how to install and start using 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)
|
||||
[Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 5 **Access to your own Git repository**
|
||||
|
||||
You can host the repository for this article on GitLab instance created in article [Install GitLab on 3Engines Cloud Kubernetes](Install-GitLab-on-3Engines-Cloud-Kubernetes.html.md). You may also use it with [GitHub](https://github.com/git-guides/install-git), [GitLab](https://docs.gitlab.com/ee/topics/git/how_to_install_git/) and other source control platforms based on **git**.
|
||||
You can host the repository for this article on GitLab instance created in article [Install GitLab on connectVM Cloud Kubernetes](Install-GitLab-on-connectVM-Cloud-Kubernetes.html.md). You may also use it with [GitHub](https://github.com/git-guides/install-git), [GitLab](https://docs.gitlab.com/ee/topics/git/how_to_install_git/) and other source control platforms based on **git**.
|
||||
|
||||
No. 6 **git CLI operational**
|
||||
|
||||
@ -45,7 +45,7 @@ No. 6 **git CLI operational**
|
||||
|
||||
No. 7 **Access to exemplary Flask application**
|
||||
|
||||
You should have access to the [example Flask application](https://github.com/3Engines/K8s-samples/tree/main/Flask-K8s-deployment), to be downloaded from GitHub in the article. It will serve as an example of a minimal application and by changing it, we will demonstrate that Argo CD is capturing those changes in a continual manner.
|
||||
You should have access to the [example Flask application](https://github.com/connectVM/K8s-samples/tree/main/Flask-K8s-deployment), to be downloaded from GitHub in the article. It will serve as an example of a minimal application and by changing it, we will demonstrate that Argo CD is capturing those changes in a continual manner.
|
||||
|
||||
Step 1 Install Argo CD[🔗](#step-1-install-argo-cd "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------
|
||||
@ -128,7 +128,7 @@ Step 4 Download Flask application[🔗](#step-4-download-flask-application "Perm
|
||||
|
||||
The next goal is to download two yaml files to a folder called **ArgoCD-sample** and its subfolder **deployment**.
|
||||
|
||||
After submitting the “Create project” form, you will receive a list of commands to work with your repo. Review them and switch to the CLI from Prerequisite No. 6. Clone the entire 3Engines K8s samples repo, then extract the sub-folder called *Flask-K8s-deployment*. For clarity, we rename its contents to a new folder, **ArgoCD-sample**. Use
|
||||
After submitting the “Create project” form, you will receive a list of commands to work with your repo. Review them and switch to the CLI from Prerequisite No. 6. Clone the entire connectVM K8s samples repo, then extract the sub-folder called *Flask-K8s-deployment*. For clarity, we rename its contents to a new folder, **ArgoCD-sample**. Use
|
||||
|
||||
```
|
||||
mkdir ~/ArgoCD-sample
|
||||
@ -138,13 +138,13 @@ mkdir ~/ArgoCD-sample
|
||||
if this is the first time you are working through this article. Then apply the following set of commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/3Engines/K8s-samples
|
||||
git clone https://github.com/connectVM/K8s-samples
|
||||
mv ~/K8s-samples/Flask-K8s-deployment ~/ArgoCD-sample/deployment
|
||||
rm K8s-samples/ -rf
|
||||
|
||||
```
|
||||
|
||||
Files **deployment.yaml** and **service.yaml** deploy a sample Flask application on Kubernetes and expose it as a service. These are typical minimal examples for deployment and service and can be obtained from the 3Engines Kubernetes samples repository.
|
||||
Files **deployment.yaml** and **service.yaml** deploy a sample Flask application on Kubernetes and expose it as a service. These are typical minimal examples for deployment and service and can be obtained from the connectVM Kubernetes samples repository.
|
||||
|
||||
Step 5 Push your app deployment configurations[🔗](#step-5-push-your-app-deployment-configurations "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------
|
||||
@ -268,6 +268,6 @@ What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
|
||||
* test applying changes to the deployment in the repository (e.g. commit a deployment with different image in the container spec), verify ArgoCD capturing the change and changing the cluster state
|
||||
* customize the deployment of Argo CD to enable HTTPS
|
||||
* integrate Argo CD with your identity management tool; for details, see [Deploy Keycloak on Kubernetes with a sample app on 3Engines Cloud](Deploy-Keycloak-on-Kubernetes-with-a-sample-app-on-3Engines-Cloud.html.md)
|
||||
* integrate Argo CD with your identity management tool; for details, see [Deploy Keycloak on Kubernetes with a sample app on connectVM Cloud](Deploy-Keycloak-on-Kubernetes-with-a-sample-app-on-connectVM-Cloud.html.md)
|
||||
|
||||
Also of interest would be the following article: [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)
|
||||
Also of interest would be the following article: [CI/CD pipelines with GitLab on connectVM Cloud Kubernetes - building a Docker image](CICD-pipelines-with-GitLab-on-connectVM-Cloud-Kubernetes-building-a-Docker-image.html.md)
|
||||
@ -1,11 +1,11 @@
|
||||
HTTP Request-based Autoscaling on K8S using Prometheus and Keda on 3Engines Cloud[🔗](#http-request-based-autoscaling-on-k8s-using-prometheus-and-keda-on-brand-name "Permalink to this headline")
|
||||
HTTP Request-based Autoscaling on K8S using Prometheus and Keda on connectVM Cloud[🔗](#http-request-based-autoscaling-on-k8s-using-prometheus-and-keda-on-brand-name "Permalink to this headline")
|
||||
===================================================================================================================================================================================================
|
||||
|
||||
Kubernetes pod autoscaler (HPA) natively utilizes CPU and RAM metrics as the default triggers for increasing or decreasing number of pods. While this is often sufficient, there can be use cases where scaling on custom metrics is preferred.
|
||||
|
||||
[KEDA](https://keda.sh/) is a tool for autoscaling based on events/metrics provided from popular sources/technologies such as Prometheus, Kafka, Postgres and multiple others.
|
||||
|
||||
With this article we will deploy a sample app on 3Engines Cloud cloud. We will collect HTTP requests from NGINX Ingress on our Kubernetes cluster and, using Keda with Prometheus scaler, apply custom HTTP request-based scaling.
|
||||
With this article we will deploy a sample app on connectVM Cloud cloud. We will collect HTTP requests from NGINX Ingress on our Kubernetes cluster and, using Keda with Prometheus scaler, apply custom HTTP request-based scaling.
|
||||
|
||||
Note
|
||||
|
||||
@ -27,7 +27,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Account**
|
||||
: You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
: You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Create a new Kubernetes cluster without Magnum NGINX preinstalled from Horizon UI**
|
||||
|
||||
@ -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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
As mentioned, create the cluster **without** installing the NGINX ingress option.
|
||||
|
||||
@ -45,7 +45,7 @@ No. 4 **Familiarity with deploying Helm charts**
|
||||
|
||||
This article will introduce you to Helm charts on Kubernetes:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
Install NGINX ingress on Magnum cluster[🔗](#install-nginx-ingress-on-magnum-cluster "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------
|
||||
@ -1,12 +1,12 @@
|
||||
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")
|
||||
How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum[🔗](#how-to-access-kubernetes-cluster-post-deployment-using-kubectl-on-brand-name-connectVM-magnum "Permalink to this headline")
|
||||
===================================================================================================================================================================================================================================
|
||||
|
||||
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.
|
||||
In this tutorial, you start with a freshly installed Kubernetes cluster on connectVM connectVM 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 3Engines Magnum server
|
||||
> * How to connect **kubectl** to the connectVM Magnum server
|
||||
> * How to access clusters with **kubectl**
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
@ -14,7 +14,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Installation of kubectl**
|
||||
|
||||
@ -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 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).
|
||||
> * With Horizon interface: [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
> * With command line interface: [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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:
|
||||
|
||||
```
|
||||
3Engines coe cluster create \
|
||||
connectVM 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 3Engines client to the cloud**
|
||||
No. 4 **Connect connectVM client to the cloud**
|
||||
|
||||
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).
|
||||
Prepare **connectVM** and **magnum** clients by executing *Step 2 Connect connectVM and Magnum Clients to Horizon Cloud* from article [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-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 **3Engines** and **magnum** clients to the cloud.
|
||||
> * Use the existing Kubernetes cluster on connectVM or install a new one using the methods outlined in Prerequisites Nos. 3.
|
||||
> * Use Step 2 in Prerequisite No. 4 to enable connection of **connectVM** 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
|
||||
|
||||
```
|
||||
3Engines coe cluster config
|
||||
connectVM coe cluster config
|
||||
|
||||
```
|
||||
|
||||
to download the files that **kubectl** needs for authentication with the server. See its input parameters using the **–help** parameter:
|
||||
|
||||
```
|
||||
3Engines coe cluster config --help
|
||||
usage: 3Engines coe cluster config [-h]
|
||||
connectVM coe cluster config --help
|
||||
usage: connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster config \
|
||||
connectVM 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 3Engines Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
Kubernetes dashboard is a visual alternative to **kubectl**. To install it, see [Using Dashboard To Access Kubernetes Cluster Post Deployment On connectVM Cloud connectVM Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
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")
|
||||
How To Create API Server LoadBalancer for Kubernetes Cluster on connectVM Cloud connectVM Magnum[🔗](#how-to-create-api-server-loadbalancer-for-kubernetes-cluster-on-brand-name-connectVM-magnum "Permalink to this headline")
|
||||
===============================================================================================================================================================================================================================
|
||||
|
||||
Load balancer can be understood both as
|
||||
@ -23,24 +23,24 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Installation of the 3Engines command**
|
||||
No. 2 **Installation of the connectVM command**
|
||||
|
||||
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.
|
||||
To activate **kubectl** command, the connectVM command from CLI connectVM Interface must be operational. The first part of article [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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 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*.)
|
||||
The article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 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.
|
||||
Article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 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.)
|
||||
A default state for the Kubernetes cluster in connectVM Cloud connectVM 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 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.
|
||||
> * Prerequisite No. 2 to install connectVM client for the local machine, so that you can use the **connectVM** command.
|
||||
> * Then use Prerequisite No. 4 to connect to the connectVM cloud and start using **connectVM** 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster config NoLoadBalancer --force
|
||||
connectVM coe cluster config NoLoadBalancer --force
|
||||
|
||||
```
|
||||
|
||||
@ -1,196 +0,0 @@
|
||||
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://3engine.rootxwire.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.
|
||||
@ -0,0 +1,196 @@
|
||||
How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon[🔗](#how-to-install-connectVM-and-magnum-clients-for-command-line-interface-to-brand-name-horizon "Permalink to this headline")
|
||||
=================================================================================================================================================================================================================================
|
||||
|
||||
How To Issue Commands to the connectVM and Magnum Servers[🔗](#how-to-issue-commands-to-the-connectVM-and-magnum-servers "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
There are three ways of working with Kubernetes clusters within connectVM 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 – connectVM and Magnum clients
|
||||
> * How to connect the CLI to the Horizon server
|
||||
> * Basic examples of using connectVM and Magnum clients
|
||||
|
||||
Notes On Python Versions and Environments for Installation[🔗](#notes-on-python-versions-and-environments-for-installation "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
connectVM is written in Python so you need to first install a Python working environment and then install the connectVM clients. Officially, connectVM 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 connectVM 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 connectVM 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 connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-Cloud.html.md).
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Installation of connectVM CLI on Ubuntu 20.04 Server**
|
||||
|
||||
The article [How to install connectVMClient for Linux on connectVM Cloud](../connectVMcli/How-to-install-connectVMClient-for-Linux-on-connectVM-Cloud.html.md) shows how to install connectVM 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 connectVM CLI on Windows**
|
||||
|
||||
The article [How to install connectVMClient GitBash for Windows on connectVM Cloud](../connectVMcli/How-to-install-connectVMClient-GitBash-or-Cygwin-for-Windows-on-connectVM-Cloud.html.md) shows installation on Windows.
|
||||
|
||||
No. 4 **General Instructions for Installation of connectVM 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 connectVM command-line clients](https://docs.connectVM.org/newton/user-guide/common/cli-install-connectVM-command-line-clients.html.md) will give a systematic introduction to installation of connectVM family of clients on various operating systems.
|
||||
|
||||
Once installed, the CLI commands will be identical across various platforms and operating systems.
|
||||
|
||||
No. 5 **Connect connectVM command to the cloud**
|
||||
|
||||
After the successful installation of **connectVM** command, it should be connected to the cloud. Follow this article for technical details: [How to activate connectVM CLI access to connectVM Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-connectVM-CLI-access-to-connectVM-Cloud-cloud-using-one-or-two-factor-authentication.html.md).
|
||||
|
||||
Step 1 Install the CLI for Kubernetes on connectVM Magnum[🔗](#step-1-install-the-cli-for-kubernetes-on-connectVM-magnum "Permalink to this headline")
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to install clients for commands **connectVM** and **coe**, from modules connectVM and Magnum, respectively.
|
||||
|
||||
Follow the Prerequisites Nos. 2, 3 or 4 to install the main client for connectVM. Its name is *python-connectVMclient* and the installation described in those will typically contain a command such as
|
||||
|
||||
```
|
||||
pip install python-connectVMclient
|
||||
|
||||
```
|
||||
|
||||
If you have installed connectVMClient using those prerequisite resources, we shall assume that the **connectVM** 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 connectVM Client[🔗](#step-2-how-to-use-the-connectVM-client "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
In this step, you are going to start using the connectVM client you have installed and connected to the cloud.
|
||||
|
||||
There are two ways of using the connectVMClient. If you enter the word **connectVM** 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 **connectVM** keyword for every command.
|
||||
|
||||
Type **quit** to leave the **connectVM** internal command line prompt.
|
||||
|
||||
The preferred way, however, is typing the keyword **connectVM**, followed by parameters and running from terminal command line.
|
||||
|
||||
connectVM 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 **connectVM** 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 connectVM user documentation.
|
||||
|
||||
Here is what happens when you enter a wrong parameter, say, *networks* instead of *network*:
|
||||
|
||||
```
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
connectVM 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 **connectVM** 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 **connectVM coe**.
|
||||
|
||||
See cluster commands by entering
|
||||
|
||||
```
|
||||
connectVM coe
|
||||
|
||||
```
|
||||
|
||||
into the command line:
|
||||
|
||||

|
||||
|
||||
You can see the existing clusters using the following command:
|
||||
|
||||
```
|
||||
connectVM 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 *connectVM* and *Magnum* clients
|
||||
> * connected them to the server, then used
|
||||
> * **connectVM** 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 connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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 3Engines Magnum[🔗](#how-to-use-command-line-interface-for-kubernetes-clusters-on-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum[🔗](#how-to-use-command-line-interface-for-kubernetes-clusters-on-brand-name-connectVM-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 3Engines Magnum servers.
|
||||
In this article you shall use Command Line Interface (CLI) to speed up testing and creation of Kubernetes clusters on connectVM 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 3Engines and Magnum commands
|
||||
> * Debugging connectVM 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
|
||||
@ -18,33 +18,33 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Private and public keys**
|
||||
|
||||
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.
|
||||
An SSH key-pair created in connectVM dashboard. To create it, follow this article [How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-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 3Engines Client Commands**
|
||||
No. 3 **Command Structure of connectVM Client Commands**
|
||||
|
||||
Here is the manual for 3EnginesClient commands: [Command Structure Xena version](https://docs.3Engines.org/python-3Enginesclient/xena/cli/commands.html.md).
|
||||
Here is the manual for connectVMClient commands: [Command Structure Xena version](https://docs.connectVM.org/python-connectVMclient/xena/cli/commands.html.md).
|
||||
|
||||
No. 4 **Command List of 3Engines Client Commands**
|
||||
No. 4 **Command List of connectVM Client Commands**
|
||||
|
||||
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).
|
||||
These are all the commands supported by Xena release of connectVMClient: [Xena Command List](https://docs.connectVM.org/python-connectVMclient/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.3Engines.org/magnum/latest/user/).
|
||||
These are all the commands supported by Xena release of MagnumClient: [Magnum User Guide](https://docs.connectVM.org/magnum/latest/user/).
|
||||
|
||||
No. 6 **How to install 3Engines and Magnum Clients**
|
||||
No. 6 **How to install connectVM and Magnum Clients**
|
||||
|
||||
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).
|
||||
The step that directly precedes this article is: [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-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 3Engines Magnum.
|
||||
In that guide, you have installed the CLI and in this tutorial, you are going to use it to work with Kubernetes on connectVM 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-3Engines/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-connectVM/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
|
||||
|
||||
```
|
||||
3Engines flavor list
|
||||
connectVM 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=$(3Engines coe cluster show k8s-cluster
|
||||
KUBERNETES_URL=$(connectVM coe cluster show k8s-cluster
|
||||
| awk '/ api_address /{print $4}')
|
||||
|
||||
```
|
||||
@ -89,7 +89,7 @@ KUBERNETES_URL=$(3Engines coe cluster show k8s-cluster
|
||||
The result of the first command
|
||||
|
||||
```
|
||||
3Engines coe cluster show k8s-cluster
|
||||
connectVM 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 3Engines and Magnum Parameters[🔗](#cli-yields-access-to-all-of-the-existing-3Engines-and-magnum-parameters "Permalink to this headline")
|
||||
### CLI Yields Access to All of the Existing connectVM and Magnum Parameters[🔗](#cli-yields-access-to-all-of-the-existing-connectVM-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 3Engines and Magnum Commands[🔗](#debugging-3Engines-and-magnum-commands "Permalink to this headline")
|
||||
### Debugging connectVM and Magnum Commands[🔗](#debugging-connectVM-and-magnum-commands "Permalink to this headline")
|
||||
|
||||
To see what is actually happening behind the scenes, when executing client commands, add parameter **–debug**:
|
||||
|
||||
```
|
||||
3Engines coe cluster list --debug
|
||||
connectVM 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 3Engines Commands[🔗](#how-to-enter-3Engines-commands "Permalink to this headline")
|
||||
How to Enter connectVM Commands[🔗](#how-to-enter-connectVM-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 3Engines commands into the terminal command line interface.
|
||||
There are several ways to write down and enter connectVM commands into the terminal command line interface.
|
||||
|
||||
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.
|
||||
One way is to enter command **connectVM** and press *Enter* on the keyboard. You enter the line mode of the **connectVM** command and can enter rows of various connectVM 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 **3Engines** 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 **connectVM** 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster template create kubecluster \
|
||||
connectVM 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.
|
||||
|
||||
3Engines Command for Creation of Cluster[🔗](#3Engines-command-for-creation-of-cluster "Permalink to this headline")
|
||||
connectVM Command for Creation of Cluster[🔗](#connectVM-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
|
||||
|
||||
```
|
||||
3Engines coe cluster create -h
|
||||
connectVM coe cluster create -h
|
||||
|
||||
```
|
||||
|
||||
to see the parameters. Provide all or almost all of the required parameters.
|
||||
|
||||
```
|
||||
usage: 3Engines coe cluster create
|
||||
usage: connectVM coe cluster create
|
||||
[-h]
|
||||
--cluster-template <cluster-template>
|
||||
[--discovery-url <discovery-url>]
|
||||
@ -217,7 +217,7 @@ usage: 3Engines coe cluster create
|
||||
Here is what one such command might actually look like:
|
||||
|
||||
```
|
||||
3Engines coe cluster create
|
||||
connectVM 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 3Engines 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 connectVM 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.
|
||||
|
||||
**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**
|
||||
**connectVM 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 3Engines and Magnum clients are active:
|
||||
Copy and paste the above command into the terminal where connectVM 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
|
||||
|
||||
```
|
||||
3Engines coe cluster list
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines quota show --default
|
||||
connectVM 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
|
||||
|
||||
```
|
||||
3Engines coe cluster delete
|
||||
connectVM 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
|
||||
|
||||
```
|
||||
3Engines coe cluster delete largecluster
|
||||
connectVM coe cluster delete largecluster
|
||||
|
||||
```
|
||||
|
||||
will not be accepted. Instead of the name, enter the *uuid* value:
|
||||
|
||||
```
|
||||
3Engines coe cluster delete e80c5815-d20b-4a2b-8588-49cf7a7e1aad
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines coe cluster delete largecluster
|
||||
connectVM 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.
|
||||
|
||||
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.
|
||||
connectVM 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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 3Engines Magnum[🔗](#how-to-create-a-kubernetes-cluster-using-brand-name-3Engines-magnum "Permalink to this headline")
|
||||
How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum[🔗](#how-to-create-a-kubernetes-cluster-using-brand-name-connectVM-magnum "Permalink to this headline")
|
||||
=================================================================================================================================================================================
|
||||
|
||||
In this tutorial, you will start with an empty Horizon screen and end up running a full Kubernetes cluster.
|
||||
@ -14,17 +14,17 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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.
|
||||
The resources that you require and use will reflect on the state of your account wallet. Check your account statistics at <https://portal.connectVM.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 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.
|
||||
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 connectVM 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 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).
|
||||
An SSH key-pair created in connectVM dashboard. To create it, follow this article [How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-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 3Engines and is the only option offered here.
|
||||
**nova** is the name of the related module in connectVM 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 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.
|
||||
This field is specific to connectVM systems that are developed by [connectVM hosting company](https://connectVM.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 3Engines, 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 connectVM, 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 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.
|
||||
Using an existing network is a more advanced option. You would need to first create a network dedicated to this cluster in connectVM 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, 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.
|
||||
Once you click on **Submit** button, connectVM 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 3Engines Magnum created for you as the result of filling in the data in those three screens:
|
||||
Here is what connectVM 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 3Engines Magnum](Using-Kubernetes-Ingress-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
Read more about ingress here: [Using Kubernetes Ingress on connectVM Cloud connectVM Magnum](Using-Kubernetes-Ingress-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
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.
|
||||
Article [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
To access your newly created cluster from command line, see article [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
@ -1,56 +1,56 @@
|
||||
How to create Kubernetes cluster using Terraform on 3Engines Cloud[🔗](#how-to-create-kubernetes-cluster-using-terraform-on-brand-name "Permalink to this headline")
|
||||
How to create Kubernetes cluster using Terraform on connectVM 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 3Engines Magnum Kubernetes cluster on 3Engines Cloud cloud.
|
||||
In this article we demonstrate using [Terraform](https://www.terraform.io/) to deploy an connectVM Magnum Kubernetes cluster on connectVM Cloud cloud.
|
||||
|
||||
Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Hosting account**
|
||||
|
||||
You need an active 3Engines Cloud account <https://portal.3Engines.com/>.
|
||||
You need an active connectVM Cloud account <https://portal.connectVM.com/>.
|
||||
|
||||
No. 2 **Active CLI session with 3EnginesClient for Linux**
|
||||
No. 2 **Active CLI session with connectVMClient for Linux**
|
||||
|
||||
You need an 3Engines CLI installed and the respective Python virtual environment sourced. For guidelines see:
|
||||
You need an connectVM CLI installed and the respective Python virtual environment sourced. For guidelines see:
|
||||
|
||||
[How to install 3EnginesClient for Linux on 3Engines Cloud](../3Enginescli/How-to-install-3EnginesClient-for-Linux-on-3Engines-Cloud.html.md)
|
||||
[How to install connectVMClient for Linux on connectVM Cloud](../connectVMcli/How-to-install-connectVMClient-for-Linux-on-connectVM-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.
|
||||
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 connectVM Cloud cloud.
|
||||
|
||||
No. 3 **Connect to the cloud via an RC file**
|
||||
|
||||
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.
|
||||
Another article, [How to activate connectVM CLI access to connectVM Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-connectVM-CLI-access-to-connectVM-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 3Engines CLI:
|
||||
Familiarity with creating Kubernetes clusters in a standard way e.g. using Horizon or connectVM CLI:
|
||||
|
||||
[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 Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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)
|
||||
[How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
[Generating and authorizing Terraform using Keycloak user on connectVM Cloud](../connectVMdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-connectVM-Cloud.html.md)
|
||||
|
||||
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.
|
||||
After you finish working through that article, you will have access to the cloud via an active **connectVM** 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 3Engines technology and 3Engines 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. connectVM Cloud clouds are built complying with connectVM technology and connectVM is one of the standard types of providers for Terraform.
|
||||
|
||||
We need to:
|
||||
|
||||
> * instruct Terraform to use 3Engines as a provider type
|
||||
> * instruct Terraform to use connectVM 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 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.
|
||||
Assuming you have worked through Prerequisite No. 2 (download and source the RC file), several connectVM-related environment variables will be populated in your local system. The ones pointing to your connectVM environment start with OS, e.g. **OS\_USERNAME**, **OS\_PASSWORD**, **OS\_AUTH\_URL**. When we define connectVM 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,16 +61,16 @@ Let’s define the Terraform provider now by creating file **provider.tf** with
|
||||
terraform {
|
||||
required_version = ">= 0.14.0"
|
||||
required_providers {
|
||||
3Engines = {
|
||||
source = "terraform-provider-3Engines/3Engines"
|
||||
connectVM = {
|
||||
source = "terraform-provider-connectVM/connectVM"
|
||||
version = "~> 1.35.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Configure the 3Engines Provider
|
||||
provider "3Engines" {
|
||||
auth_url = "https://keystone.3Engines.com:5000/v3"
|
||||
# Configure the connectVM Provider
|
||||
provider "connectVM" {
|
||||
auth_url = "https://keystone.connectVM.com:5000/v3"
|
||||
# the rest of configuration parameters are taken from environment variables once RC file is correctly sourced
|
||||
}
|
||||
|
||||
@ -78,18 +78,18 @@ provider "3Engines" {
|
||||
|
||||
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 3Engines 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 connectVM 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 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:
|
||||
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 connectVM Magnum cluster. In Terraform terminology, it will be an instance of **connectVM\_containerinfra\_cluster\_v1** resource type. To proceed, create file **cluster.tf** which contains the specification of our cluster:
|
||||
|
||||
**cluster.tf**
|
||||
|
||||
```
|
||||
# Create resource
|
||||
resource "3Engines_containerinfra_cluster_v1" "k8s-cluster" {
|
||||
resource "connectVM_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 3Engines project in the chosen cloud
|
||||
: reflects the name of keypair used in our connectVM 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 3Engines, 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 connectVM, which might need correcting before moving to the next stage.
|
||||
|
||||

|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
How to install Rancher RKE2 Kubernetes on 3Engines Cloud[🔗](#how-to-install-rancher-rke2-kubernetes-on-brand-name "Permalink to this headline")
|
||||
How to install Rancher RKE2 Kubernetes on connectVM Cloud[🔗](#how-to-install-rancher-rke2-kubernetes-on-brand-name "Permalink to this headline")
|
||||
=================================================================================================================================================
|
||||
|
||||
[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.
|
||||
[RKE2](https://docs.rke2.io/) - Rancher Kubernetes Engine version 2 - is a Kubernetes distribution provided by SUSE. Running a self-managed RKE2 cluster in connectVM 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 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
|
||||
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 connectVM Cloud Controller Manager (CCM) to integrate RKE2 cluster with the wider connectVM environment. Using the customized version of CCM enables us to take advantage of connectVM Cloud cloud-native features. The end result is
|
||||
|
||||
> * a provisioned RKE2 cluster
|
||||
> * running under 3Engines, with
|
||||
> * an integrated 3Engines Cloud Controller Manager.
|
||||
> * running under connectVM, with
|
||||
> * an integrated connectVM Cloud Controller Manager.
|
||||
|
||||
We also illustrate the coding techniques used, in case you want to enhance the RKE2 implementation further.
|
||||
|
||||
@ -21,7 +21,7 @@ What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this
|
||||
> > * Have keypair operational
|
||||
> > * Authenticate to the newly formed project
|
||||
>
|
||||
> * Use Terraform configuration for RKE2 from 3Engines’s GitHub repository
|
||||
> * Use Terraform configuration for RKE2 from connectVM’s GitHub repository
|
||||
> * Provision an RKE2 cluster
|
||||
> * Demonstrate the incorporated cloud-native load-balancing
|
||||
> * Implementation details
|
||||
@ -34,61 +34,61 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Terraform available on your local command line**
|
||||
|
||||
See [Generating and authorizing Terraform using Keycloak user on 3Engines Cloud](../3Enginesdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-3Engines-Cloud.html.md)
|
||||
See [Generating and authorizing Terraform using Keycloak user on connectVM Cloud](../connectVMdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-connectVM-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)
|
||||
[How to install Python virtualenv or virtualenvwrapper on connectVM Cloud](../cloud/How-to-install-Python-virtualenv-or-virtualenvwrapper-on-connectVM-Cloud.html.md)
|
||||
|
||||
No. 4 **3Engines CLI installed locally**
|
||||
No. 4 **connectVM CLI installed locally**
|
||||
|
||||
When installed, you will have access to **3Engines** command and will be able to communicate with the 3Engines cloud:
|
||||
When installed, you will have access to **connectVM** command and will be able to communicate with the connectVM cloud:
|
||||
|
||||
[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)
|
||||
[How to activate connectVM CLI access to connectVM Cloud cloud using one- or two-factor authentication](../accountmanagement/How-to-activate-connectVM-CLI-access-to-connectVM-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 3Engines**
|
||||
No. 6 **Available key pair in connectVM**
|
||||
|
||||
[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).
|
||||
[How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-Cloud.html.md).
|
||||
|
||||
No. 7 **Application credentials**
|
||||
|
||||
The following article describes how to create and use application credentials, using CLI:
|
||||
|
||||
[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)
|
||||
[How to generate or use Application Credentials via CLI on connectVM Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-connectVM-Cloud.html.md)
|
||||
|
||||
In this article, we shall create application credentials through Horizon but with a specific selection of user roles.
|
||||
|
||||
No. 8 **Projects, roles, users and groups**
|
||||
|
||||
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)
|
||||
Option **Identity** lists available projects, roles, users and groups. See [What is an connectVM project on connectVM Cloud](../cloud/What-is-an-connectVM-project-on-connectVM-Cloud.html.md)
|
||||
|
||||
No. 9 **Experience with Kubernetes and Helm**
|
||||
|
||||
To follow up on this article, you should know your way around Kubernetes in general. Having the actual experience of using it on 3Engines Cloud cloud, would be even better. For a series of article on Kubernetes, see [KUBERNETES](kubernetes.html.md).
|
||||
To follow up on this article, you should know your way around Kubernetes in general. Having the actual experience of using it on connectVM Cloud cloud, would be even better. For a series of article on Kubernetes, see [KUBERNETES](kubernetes.html.md).
|
||||
|
||||
To perform the installation required in this article, one of the steps will be to create Helm CRD and use it. This article shows the basics of using Helm [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md).
|
||||
To perform the installation required in this article, one of the steps will be to create Helm CRD and use it. This article shows the basics of using Helm [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md).
|
||||
|
||||
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 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.
|
||||
Under connectVM, CCM integrates with connectVM APIs. The code used here is from a concrete repository for Cloud Controller Manager – <https://github.com/kubernetes/cloud-provider-connectVM> It implements the above mentioned (as well as) other connectVM-Kubernetes integrations.
|
||||
|
||||
No. 11 **rke2-terraform repository**
|
||||
|
||||
You will need to download the following repository
|
||||
|
||||
> <https://github.com/3Engines/K8s-samples/tree/main/rke2-terraform>
|
||||
> <https://github.com/connectVM/K8s-samples/tree/main/rke2-terraform>
|
||||
|
||||
in order to install install Terraform manifests for provisioning of RKE2 on 3Engines Cloud using Terraform.
|
||||
in order to install install Terraform manifests for provisioning of RKE2 on connectVM Cloud using Terraform.
|
||||
|
||||
No. 12 **Customize the cloud configuration for Terraform**
|
||||
|
||||
@ -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 3Engines 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 connectVM resources will be created along.
|
||||
|
||||
As part of the preliminary setup to provision these resources we will:
|
||||
|
||||
> * Create a dedicated 3Engines project to isolate all resources dedicated to the cluster
|
||||
> * Create a dedicated connectVM 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 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.
|
||||
The next step is to create an application credential that will be used to authenticate the connectVM 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.
|
||||
|
||||

|
||||
|
||||
@ -144,10 +144,10 @@ Before continuing, ensure you have a keypair available. If you already had a key
|
||||
|
||||
Lastly, download the RC file corresponding to the new project from Horizon GUI, then source this file in your local Linux terminal. See Prerequisite No. 4.
|
||||
|
||||
Step 2 Use Terraform configuration for RKE2 from 3Engines’s GitHub repository[🔗](#step-2-use-terraform-configuration-for-rke2-from-3Engines-s-github-repository "Permalink to this headline")
|
||||
Step 2 Use Terraform configuration for RKE2 from connectVM’s GitHub repository[🔗](#step-2-use-terraform-configuration-for-rke2-from-connectVM-s-github-repository "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
We added folder **rke2-terraform** to 3Engines’s [K8s-samples GitHub repository](https://github.com/3Engines/K8s-samples/tree/main/rke2-terraform), from Prerequisite No. 11. This project includes configuration files to provision an RKE2 cluster on 3Engines clouds and can be used as a starter pack for further customizations to your specific requirements.
|
||||
We added folder **rke2-terraform** to connectVM’s [K8s-samples GitHub repository](https://github.com/connectVM/K8s-samples/tree/main/rke2-terraform), from Prerequisite No. 11. This project includes configuration files to provision an RKE2 cluster on connectVM clouds and can be used as a starter pack for further customizations to your specific requirements.
|
||||
|
||||

|
||||
|
||||
@ -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 3Engines provider, which is provisioning cloud resources that form the cluster.
|
||||
: Used for declaring and configuring Terraform providers. In our case, we only use connectVM provider, which is provisioning cloud resources that form the cluster.
|
||||
|
||||
main.tf
|
||||
: 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.
|
||||
: Contains declaration of resources to be created by Terraform. Several connectVM 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 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.
|
||||
: Contains declaration of security groups and security group rules used in connectVM 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
|
||||
@ -192,7 +192,7 @@ Let’s provision an RKE2 Kubernetes cluster now. This will consist of the follo
|
||||
The first step is to clone the github repository. We clone the entire repo but just leave the **rke2-terraform** folder with the below commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/3Engines/K8s-samples
|
||||
git clone https://github.com/connectVM/K8s-samples
|
||||
mkdir ~/rke2-terraform
|
||||
mv ~/K8s-samples/rke2-terraform/* ~/rke2-terraform
|
||||
rm K8s-samples/ -rf
|
||||
@ -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-3Engines-cloud-controller-manager.yaml
|
||||
- path: /var/lib/rancher/rke2/server/manifests/rke2-connectVM-cloud-controller-manager.yaml
|
||||
permissions: "0600"
|
||||
owner: root:root
|
||||
content: |
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChart
|
||||
metadata:
|
||||
name: 3Engines-cloud-controller-manager
|
||||
name: connectVM-cloud-controller-manager
|
||||
namespace: kube-system
|
||||
spec:
|
||||
chart: 3Engines-cloud-controller-manager
|
||||
repo: https://kubernetes.github.io/cloud-provider-3Engines
|
||||
chart: connectVM-cloud-controller-manager
|
||||
repo: https://kubernetes.github.io/cloud-provider-connectVM
|
||||
targetNamespace: kube-system
|
||||
bootstrap: True
|
||||
valuesContent: |-
|
||||
@ -330,7 +330,7 @@ Let us examine the **cloud-init-masters.yml.tpl** file, concretely, the part bet
|
||||
node-role.kubernetes.io/control-plane: "true"
|
||||
cloudConfig:
|
||||
global:
|
||||
auth-url: https://keystone.3Engines.com:5000
|
||||
auth-url: https://keystone.connectVM.com:5000
|
||||
application-credential-id: "${application_credential_id}"
|
||||
application-credential-secret: "${application_credential_secret}"
|
||||
region: ${region}
|
||||
@ -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-3Engines-cloud-controller-manager.yaml*
|
||||
*rke2-connectVM-cloud-controller-manager.yaml*
|
||||
|
||||
in location
|
||||
|
||||
@ -361,7 +361,7 @@ One of the entries is the aforementioned pod:
|
||||
```
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
...
|
||||
3Engines-cloud-controller-manager-bz7zt 1/1 Running 1 (4h ago) 26h
|
||||
connectVM-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 3Engines:
|
||||
You can also consider creating Kubernetes clusters using Magnum within connectVM:
|
||||
|
||||
[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 Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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")
|
||||
Implementing IP Whitelisting for Load Balancers with Security Groups on connectVM 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 3Engines 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 connectVM by implementing IP whitelisting.
|
||||
|
||||
What Are We Going To Do[🔗](#what-are-we-going-to-do "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------
|
||||
@ -16,7 +16,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **List of IP addresses/ranges to whitelist**
|
||||
|
||||
@ -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 3Engines, each time you create a Kubernetes cluster, the corresponding load balancers are created automatically.
|
||||
In connectVM, 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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
See article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 4 **3Engines command operational**
|
||||
No. 4 **connectVM 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 3Engines Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-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 3Engines 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 connectVM 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,9 +57,9 @@ No. 6 **Terraform installed**
|
||||
|
||||
You will need Terraform version 1.50 or higher to be operational.
|
||||
|
||||
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)
|
||||
For complete introduction and installation of Terrafom on connectVM see article [Generating and authorizing Terraform using Keycloak user on connectVM Cloud](../connectVMdev/Generating-and-authorizing-Terraform-using-Keycloak-user-on-connectVM-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)
|
||||
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 connectVM Cloud](../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-connectVM-Cloud.html.md)
|
||||
|
||||
Horizon: Whitelisting Load Balancers[🔗](#horizon-whitelisting-load-balancers "Permalink to this headline")
|
||||
----------------------------------------------------------------------------------------------------------
|
||||
@ -105,28 +105,28 @@ To confirm the configuration:
|
||||
CLI: Whitelisting Load Balancers[🔗](#cli-whitelisting-load-balancers "Permalink to this headline")
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
The 3Engines CLI provides a command-line method for implementing IP whitelisting.
|
||||
The connectVM CLI provides a command-line method for implementing IP whitelisting.
|
||||
|
||||
Be sure to work through Prerequisites Nos 4 and 5 in order to have **3Engines** command fully operational.
|
||||
Be sure to work through Prerequisites Nos 4 and 5 in order to have **connectVM** command fully operational.
|
||||
|
||||
List the security groups associated with the load balancer:
|
||||
|
||||
```
|
||||
3Engines loadbalancer show <LOAD_BALANCER_NAME_OR_ID>
|
||||
connectVM loadbalancer show <LOAD_BALANCER_NAME_OR_ID>
|
||||
|
||||
```
|
||||
|
||||
Identify the pool associated with the load balancer:
|
||||
|
||||
```
|
||||
3Engines loadbalancer pool list
|
||||
connectVM loadbalancer pool list
|
||||
|
||||
```
|
||||
|
||||
Show details of the pool to list its members:
|
||||
|
||||
```
|
||||
3Engines loadbalancer pool show <POOL_NAME_OR_ID>
|
||||
connectVM 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:
|
||||
|
||||
```
|
||||
3Engines security group create <SECURITY_GROUP_NAME>
|
||||
connectVM security group create <SECURITY_GROUP_NAME>
|
||||
|
||||
```
|
||||
|
||||
Add rules to the security group:
|
||||
|
||||
```
|
||||
3Engines security group rule create \
|
||||
connectVM security group rule create \
|
||||
--ingress \
|
||||
--ethertype IPv4 \
|
||||
--protocol tcp \
|
||||
@ -155,7 +155,7 @@ Add rules to the security group:
|
||||
Apply the security group to the instances hosting the pool members:
|
||||
|
||||
```
|
||||
3Engines server add security group <INSTANCE_ID> <SECURITY_GROUP_NAME>
|
||||
connectVM server add security group <INSTANCE_ID> <SECURITY_GROUP_NAME>
|
||||
|
||||
```
|
||||
|
||||
@ -164,14 +164,14 @@ Apply the security group to the instances hosting the pool members:
|
||||
Verify the applied security group rules:
|
||||
|
||||
```
|
||||
3Engines security group show <SECURITY_GROUP_ID>
|
||||
connectVM security group show <SECURITY_GROUP_ID>
|
||||
|
||||
```
|
||||
|
||||
Confirm the security group is attached to the appropriate instances:
|
||||
|
||||
```
|
||||
3Engines server show <INSTANCE_ID>
|
||||
connectVM 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 "3Engines_networking_secgroup_v2" "whitelist_secgroup" {
|
||||
resource "connectVM_networking_secgroup_v2" "whitelist_secgroup" {
|
||||
name = "loadbalancer_whitelist"
|
||||
description = "Security group for load balancer IP whitelisting"
|
||||
}
|
||||
|
||||
# Add Whitelist Rule for Specific IPs
|
||||
resource "3Engines_networking_secgroup_rule_v2" "allow_whitelist" {
|
||||
resource "connectVM_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 = 3Engines_networking_secgroup_v2.whitelist_secgroup.id
|
||||
security_group_id = connectVM_networking_secgroup_v2.whitelist_secgroup.id
|
||||
}
|
||||
|
||||
# Existing Instances Associated with Pool Members
|
||||
resource "3Engines_compute_instance_v2" "instances" {
|
||||
resource "connectVM_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 = [3Engines_networking_secgroup_v2.whitelist_secgroup.name]
|
||||
security_groups = [connectVM_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 "3Engines_lb_loadbalancer_v2" "loadbalancer" {
|
||||
resource "connectVM_lb_loadbalancer_v2" "loadbalancer" {
|
||||
name = "my_loadbalancer"
|
||||
vip_subnet_id = "subnet-id" # Replace with the subnet ID
|
||||
depends_on = [3Engines_compute_instance_v2.instances]
|
||||
depends_on = [connectVM_compute_instance_v2.instances]
|
||||
}
|
||||
|
||||
```
|
||||
@ -238,8 +238,8 @@ Use Terraform to review the applied state:
|
||||
|
||||
```
|
||||
terraform show
|
||||
3Engines server show <INSTANCE_ID>
|
||||
3Engines security group show <SECURITY_GROUP_ID>
|
||||
connectVM server show <INSTANCE_ID>
|
||||
connectVM 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 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 connectVM Load Balancer using Horizon and CLI on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Horizon-and-CLI-on-connectVM-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)
|
||||
[Configuring IP Whitelisting for connectVM Load Balancer using Terraform on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Terraform-on-connectVM-Cloud.html.md)
|
||||
@ -1,11 +1,11 @@
|
||||
Install GitLab on 3Engines Cloud Kubernetes[🔗](#install-gitlab-on-brand-name-kubernetes "Permalink to this headline")
|
||||
Install GitLab on connectVM Cloud Kubernetes[🔗](#install-gitlab-on-brand-name-kubernetes "Permalink to this headline")
|
||||
=======================================================================================================================
|
||||
|
||||
Source control is essential for building professional software. Git has become synonym of a modern source control system and GitLab is one of most popular tools based on Git.
|
||||
|
||||
GitLab can be deployed as your local instance to ensure privacy of the stored artifacts. It is also the tool of choice for its rich automation capabilities.
|
||||
|
||||
In this article, we will install GitLab on a Kubernetes cluster in 3Engines Cloud cloud.
|
||||
In this article, we will install GitLab on a Kubernetes cluster in connectVM Cloud cloud.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -20,13 +20,13 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Understand Helm deployments**
|
||||
|
||||
To install GitLab on Kubernetes cluster, we will use the appropriate Helm chart. The following article explains the procedure:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 3 **Kubernetes cluster without ingress controller already installed**
|
||||
|
||||
@ -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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
[How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
Be sure to use cluster template for at least version 1.25, like this:
|
||||
|
||||
@ -47,9 +47,9 @@ 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 3Engines 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 connectVM on connectVM 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)
|
||||
[DNS as a Service on connectVM Cloud Hosting](../cloud/DNS-as-a-Service-on-connectVM-Cloud-Hosting.html.md)
|
||||
|
||||
No. 5 **Proof of concept vs. production ready version of GitLab client**
|
||||
|
||||
@ -67,14 +67,14 @@ 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 3Engines 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 connectVM Horizon UI on your connectVM Cloud cloud:
|
||||
|
||||

|
||||
|
||||
Step 2 Apply preliminary configuration[🔗](#step-2-apply-preliminary-configuration "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
A condition to ensure compatibility with Kubernetes setup on 3Engines Cloud clouds is to enable the Service Accounts provisioned by GitLab Helm chart to have sufficient access to reading scaling metrics. This can be done by creating an appropriate *rolebinding*.
|
||||
A condition to ensure compatibility with Kubernetes setup on connectVM Cloud clouds is to enable the Service Accounts provisioned by GitLab Helm chart to have sufficient access to reading scaling metrics. This can be done by creating an appropriate *rolebinding*.
|
||||
|
||||
First, create a namespace gitlab where we will deploy the Helm chart:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Install and run Argo Workflows on 3Engines Cloud Magnum Kubernetes[🔗](#install-and-run-argo-workflows-on-brand-name-cloud-name-magnum-kubernetes "Permalink to this headline")
|
||||
Install and run Argo Workflows on connectVM Cloud Magnum Kubernetes[🔗](#install-and-run-argo-workflows-on-brand-name-cloud-name-magnum-kubernetes "Permalink to this headline")
|
||||
================================================================================================================================================================================
|
||||
|
||||
[Argo Workflows](https://argoproj.github.io/argo-workflows/) enable running complex job workflows on Kubernetes. It can
|
||||
@ -25,10 +25,10 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
-------------------------------------------------------------
|
||||
|
||||
No. 1 **Account**
|
||||
: You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
: You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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:
|
||||
|
||||
```
|
||||
3Engines coe cluster config argo-cluster
|
||||
connectVM coe cluster config argo-cluster
|
||||
|
||||
```
|
||||
|
||||
@ -52,7 +52,7 @@ Run this command.
|
||||
Apply preliminary configuration[🔗](#apply-preliminary-configuration "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
connectVM 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:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Install and run Dask on a Kubernetes cluster in 3Engines Cloud cloud[🔗](#install-and-run-dask-on-a-kubernetes-cluster-in-brand-name-cloud "Permalink to this headline")
|
||||
Install and run Dask on a Kubernetes cluster in connectVM Cloud cloud[🔗](#install-and-run-dask-on-a-kubernetes-cluster-in-brand-name-cloud "Permalink to this headline")
|
||||
=========================================================================================================================================================================
|
||||
|
||||
[Dask](https://www.dask.org/) enables scaling computation tasks either as multiple processes on a single machine, or on Dask clusters that consist of multiple worker machines. Dask provides a scalable alternative to popular Python libraries e.g. Numpy, Pandas or SciKit Learn, but still using a compact and very similar API.
|
||||
@ -21,19 +21,19 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Kubernetes cluster on 3Engines cloud**
|
||||
No. 2 **Kubernetes cluster on connectVM cloud**
|
||||
|
||||
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)
|
||||
To create Kubernetes cluster on cloud refer to this guide: [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 4 **Familiarity with Helm**
|
||||
|
||||
For more information on using Helm and installing apps with Helm on Kubernetes, refer to [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md)
|
||||
For more information on using Helm and installing apps with Helm on Kubernetes, refer to [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 5 **Python3 available on your machine**
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Install and run NooBaa on Kubernetes cluster in single- and multicloud-environment on 3Engines Cloud[🔗](#install-and-run-noobaa-on-kubernetes-cluster-in-single-and-multicloud-environment-on-brand-name "Permalink to this headline")
|
||||
Install and run NooBaa on Kubernetes cluster in single- and multicloud-environment on connectVM Cloud[🔗](#install-and-run-noobaa-on-kubernetes-cluster-in-single-and-multicloud-environment-on-brand-name "Permalink to this headline")
|
||||
========================================================================================================================================================================================================================================
|
||||
|
||||
[NooBaa](https://www.noobaa.io/) enables creating an abstracted S3 backend on Kubernetes. Such backend can be connected to multiple S3 backing stores e.g. in a multi-cloud setup, allowing for storage expandability or High Availability among other beneficial features.
|
||||
@ -6,7 +6,7 @@ Install and run NooBaa on Kubernetes cluster in single- and multicloud-environme
|
||||
In this article you will learn the basics of using NooBaa
|
||||
|
||||
> * how to install it on Kubernetes cluster
|
||||
> * how to create a NooBaa bucket backed by S3 object storage in the 3Engines Cloud cloud
|
||||
> * how to create a NooBaa bucket backed by S3 object storage in the connectVM Cloud cloud
|
||||
> * how to create a NooBaa bucket mirroring data on two different clouds
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
@ -27,29 +27,29 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 3 **Familiarity with using Object Storage on 3Engines clouds**
|
||||
No. 3 **Familiarity with using Object Storage on connectVM clouds**
|
||||
|
||||
More information in [How to use Object Storage on 3Engines Cloud](../s3/How-to-use-Object-Storage-on-3Engines-Cloud.html.md)
|
||||
More information in [How to use Object Storage on connectVM Cloud](../s3/How-to-use-Object-Storage-on-connectVM-Cloud.html.md)
|
||||
|
||||
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.
|
||||
Traditional connectVM 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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 5 **Access to private S3 keys in WAW3-1 cloud**
|
||||
|
||||
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).
|
||||
You may also use access to connectVM CLI to generate and read the private S3 keys - [How to generate and manage EC2 credentials on connectVM Cloud](../cloud/How-to-generate-ec2-credentials-on-connectVM-Cloud.html.md).
|
||||
|
||||
No. 6 **Familiarity with s3cmd for accessing object storage**
|
||||
|
||||
For more info on **s3cmd**, see [How to access private object storage using S3cmd or boto3 on 3Engines Cloud](../s3/How-to-access-private-object-storage-using-S3cmd-or-boto3-on-3Engines-Cloud.html.md).
|
||||
For more info on **s3cmd**, see [How to access private object storage using S3cmd or boto3 on connectVM Cloud](../s3/How-to-access-private-object-storage-using-S3cmd-or-boto3-on-connectVM-Cloud.html.md).
|
||||
|
||||
No. 7 **Access to WAW3-2 cloud**
|
||||
|
||||
@ -83,7 +83,7 @@ This will result in an output similar to the below:
|
||||
Apply preliminary configuration[🔗](#apply-preliminary-configuration "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------
|
||||
|
||||
We will need to apply additional configuration on a Magnum cluster to avoid PodSecurityPolicy exception. For a refresher, see article [Installing JupyterHub on Magnum Kubernetes Cluster in 3Engines Cloud Cloud](Installing-JupyterHub-on-Magnum-Kubernetes-cluster-in-3Engines-Cloud-cloud.html.md).
|
||||
We will need to apply additional configuration on a Magnum cluster to avoid PodSecurityPolicy exception. For a refresher, see article [Installing JupyterHub on Magnum Kubernetes Cluster in connectVM Cloud Cloud](Installing-JupyterHub-on-Magnum-Kubernetes-cluster-in-connectVM-Cloud-cloud.html.md).
|
||||
|
||||
Let’s start by creating a dedicated namespace for Noobaa artifacts:
|
||||
|
||||
@ -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 3Engines.
|
||||
> * NooBaa created a default backing store called *noobaa-default-backing-store*, backed by a block volume created in connectVM.
|
||||
> * 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:
|
||||
|
||||
```
|
||||
3Engines ec2 credentials list
|
||||
connectVM ec2 credentials list
|
||||
|
||||
```
|
||||
|
||||
@ -176,7 +176,7 @@ If you have properly set up the EC2 (S3) keys for your WAW3-1 object storage, ta
|
||||
With the above in place, we can create a new NooBaa backing store called *custom-bs* by running the command below. Make sure to replace the access-key XXXXXX and the secret-key YYYYYYY with your own EC2 keys and the *bucket* with your own bucket name:
|
||||
|
||||
```
|
||||
noobaa -n noobaa backingstore create s3-compatible custom-bs --endpoint https://s3.waw3-1.3Engines.com --signature-version v4 --access-key XXXXXX \
|
||||
noobaa -n noobaa backingstore create s3-compatible custom-bs --endpoint https://s3.waw3-1.connectVM.com --signature-version v4 --access-key XXXXXX \
|
||||
--secret-key YYYYYYY --target-bucket noobaademo-waw3-1
|
||||
|
||||
```
|
||||
@ -396,11 +396,11 @@ To proceed, first create two additional buckets from the Horizon interface. Repl
|
||||
|
||||
### Step 1 Multi-cloud. Create bucket on WAW3-1[🔗](#step-1-multi-cloud-create-bucket-on-waw3-1 "Permalink to this headline")
|
||||
|
||||
Go to WAW3-1 Horizon interface and create a bucket we call *noobaamirror-waw3-1* (supply your own bucket name here and adhere to it in the rest of the article). It will be the available on endpoint <https://s3.waw3-1.3Engines.com>.
|
||||
Go to WAW3-1 Horizon interface and create a bucket we call *noobaamirror-waw3-1* (supply your own bucket name here and adhere to it in the rest of the article). It will be the available on endpoint <https://s3.waw3-1.connectVM.com>.
|
||||
|
||||
### Step 1 Multi-cloud. Create bucket on WAW3-2[🔗](#step-1-multi-cloud-create-bucket-on-waw3-2 "Permalink to this headline")
|
||||
|
||||
Next, go to WAW3-2 Horizon interface and create a bucket we call *noobaamirror-waw3-2* (again, supply your own bucket name here and adhere to it in the rest of the article). It will be available on endpoint <https://s3.waw3-2.3Engines.com>
|
||||
Next, go to WAW3-2 Horizon interface and create a bucket we call *noobaamirror-waw3-2* (again, supply your own bucket name here and adhere to it in the rest of the article). It will be available on endpoint <https://s3.waw3-2.connectVM.com>
|
||||
|
||||
### Step 2 Multi-cloud. Set up EC2 credentials[🔗](#step-2-multi-cloud-set-up-ec2-credentials "Permalink to this headline")
|
||||
|
||||
@ -411,7 +411,7 @@ Use the existing pair of EC2 credentials or first create a new pair and then use
|
||||
Apply the following command to create *mirror-bs1* backing store (change names of: bucket name, S3 access key, S3 secret key to your own):
|
||||
|
||||
```
|
||||
noobaa -n noobaa backingstore create s3-compatible mirror-bs1 --endpoint https://s3.waw3-1.3Engines.com --signature-version v4 --access-key XXXXXX --secret-key YYYYYY --target-bucket noobaamirror-waw3-1
|
||||
noobaa -n noobaa backingstore create s3-compatible mirror-bs1 --endpoint https://s3.waw3-1.connectVM.com --signature-version v4 --access-key XXXXXX --secret-key YYYYYY --target-bucket noobaamirror-waw3-1
|
||||
|
||||
```
|
||||
|
||||
@ -420,7 +420,7 @@ noobaa -n noobaa backingstore create s3-compatible mirror-bs1 --endpoint https:/
|
||||
Apply the following command to create *mirror-bs2* backing store (change names of: bucket name, S3 access key, S3 secret key to your own):
|
||||
|
||||
```
|
||||
noobaa -n noobaa backingstore create s3-compatible mirror-bs2 --endpoint https://s3.waw3-2.3Engines.com --signature-version v4 --access-key XXXXXX --secret-key YYYYYY --target-bucket noobaamirror-waw3-2
|
||||
noobaa -n noobaa backingstore create s3-compatible mirror-bs2 --endpoint https://s3.waw3-2.connectVM.com --signature-version v4 --access-key XXXXXX --secret-key YYYYYY --target-bucket noobaamirror-waw3-2
|
||||
|
||||
```
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Installing HashiCorp Vault on 3Engines Cloud Magnum[🔗](#installing-hashicorp-vault-on-brand-name-cloud-name-magnum "Permalink to this headline")
|
||||
Installing HashiCorp Vault on connectVM Cloud Magnum[🔗](#installing-hashicorp-vault-on-brand-name-cloud-name-magnum "Permalink to this headline")
|
||||
==================================================================================================================================================
|
||||
|
||||
In Kubernetes, a *Secret* is an object that contains passwords, tokens, keys or any other small pieces of data. Using *Secrets* ensures that the probability of exposing confidential data while creating, running and editing Pods is much smaller. The main problem is that *Secrets* are stored unencrypted in *etcd* so anyone with
|
||||
@ -18,7 +18,7 @@ You can apply a number of strategies to improve the security of the cluster or y
|
||||
> * revoking or deleting any key or secret,
|
||||
> * setting automated secret rotation – for administrators and users alike.
|
||||
|
||||
In this article, we shall install HashiCorp Vault within a Magnum Kubernetes cluster, on 3Engines Cloud cloud.
|
||||
In this article, we shall install HashiCorp Vault within a Magnum Kubernetes cluster, on connectVM Cloud cloud.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -38,17 +38,17 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 3 **Familiarity with deploying Helm charts**
|
||||
|
||||
This article will introduce you to Helm charts on Kubernetes:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
Step 1 Install CFSSL[🔗](#step-1-install-cfssl "Permalink to this headline")
|
||||
---------------------------------------------------------------------------
|
||||
@ -547,4 +547,4 @@ Now you have Vault server as a part of the cluster and you can also use it from
|
||||
|
||||
Another way to improve Kubernetes security is securing applications with HTTPS using ingress:
|
||||
|
||||
[Deploying HTTPS Services on Magnum Kubernetes in 3Engines Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-3Engines-Cloud-Cloud.html.md).
|
||||
[Deploying HTTPS Services on Magnum Kubernetes in connectVM Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-connectVM-Cloud-Cloud.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
Installing JupyterHub on Magnum Kubernetes Cluster in 3Engines Cloud Cloud[🔗](#installing-jupyterhub-on-magnum-kubernetes-cluster-in-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
Installing JupyterHub on Magnum Kubernetes Cluster in connectVM Cloud Cloud[🔗](#installing-jupyterhub-on-magnum-kubernetes-cluster-in-brand-name-cloud-name-cloud "Permalink to this headline")
|
||||
================================================================================================================================================================================================
|
||||
|
||||
Jupyter notebooks are a popular method of presenting application code, as well as running exploratory experiments and analysis, conveniently, from a web browser. From a Jupyter notebook, one can run code, see the generated results in attractive visual form, and often also interactively interact with the generated output.
|
||||
@ -20,17 +20,17 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **kubectl up and running**
|
||||
|
||||
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)
|
||||
For further instructions refer to [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
No. 3 **Helm up and running**
|
||||
|
||||
Helm is package manager for Kubernetes as explained in article
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 4 **A registered domain name available**
|
||||
|
||||
@ -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:
|
||||
|
||||
```
|
||||
3Engines coe cluster config jupyter-cluster
|
||||
connectVM 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")
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
connectVM 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:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Kubernetes cluster observability with Prometheus and Grafana on 3Engines Cloud[🔗](#kubernetes-cluster-observability-with-prometheus-and-grafana-on-brand-name "Permalink to this headline")
|
||||
Kubernetes cluster observability with Prometheus and Grafana on connectVM Cloud[🔗](#kubernetes-cluster-observability-with-prometheus-and-grafana-on-brand-name "Permalink to this headline")
|
||||
=============================================================================================================================================================================================
|
||||
|
||||
Complex systems deployed on Kubernetes take advantage of multiple Kubernetes resources. Such deployments often consist of a number of namespaces, pods and many other entities, which contribute to consuming the cluster resources.
|
||||
@ -20,19 +20,19 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-Magnum.html.md).
|
||||
Kubernetes cluster available. For guideline on creating a Kubernetes cluster refer to [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md).
|
||||
|
||||
No. 3 **Familiarity with Helm**
|
||||
|
||||
For more information on using Helm and installing apps with Helm on Kubernetes, refer to [Deploying Helm Charts on Magnum Kubernetes Clusters on 3Engines Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-3Engines-Cloud-Cloud.html.md)
|
||||
For more information on using Helm and installing apps with Helm on Kubernetes, refer to [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
The instructions for activation of **kubectl** are provided in: [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 3Engines Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
[Using Dashboard To Access Kubernetes Cluster Post Deployment On connectVM Cloud connectVM Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
@ -1,4 +1,4 @@
|
||||
Private container registries with Harbor on 3Engines Cloud Kubernetes[🔗](#private-container-registries-with-harbor-on-brand-name-kubernetes "Permalink to this headline")
|
||||
Private container registries with Harbor on connectVM Cloud Kubernetes[🔗](#private-container-registries-with-harbor-on-brand-name-kubernetes "Permalink to this headline")
|
||||
===========================================================================================================================================================================
|
||||
|
||||
A fundamental component of the container-based ecosystem are *container registries*, used for storing and distributing container images. There are a few popular public container registries, which serve this purpose in a software-as-a-service model and the most popular is [DockerHub](https://hub.docker.com/).
|
||||
@ -34,21 +34,21 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **A cluster on 3Engines-Cloud cloud**
|
||||
No. 2 **A cluster on connectVM-Cloud cloud**
|
||||
|
||||
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).
|
||||
A Kubernetes cluster on connectVM Cloud cloud. Follow guidelines in this article [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md) provides further guidance.
|
||||
|
||||
No. 4 **Familiarity with deploying Helm charts**
|
||||
|
||||
See this article:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 5 **Domain purchased from a registrar**
|
||||
|
||||
@ -58,11 +58,11 @@ No. 6 **Use DNS service in Horizon to link Harbor service to the domain name**
|
||||
|
||||
This is optional. Here is the article with detailed information:
|
||||
|
||||
[DNS as a Service on 3Engines Cloud Hosting](../cloud/DNS-as-a-Service-on-3Engines-Cloud-Hosting.html.md)
|
||||
[DNS as a Service on connectVM Cloud Hosting](../cloud/DNS-as-a-Service-on-connectVM-Cloud-Hosting.html.md)
|
||||
|
||||
No. 7 **Docker installed on your machine**
|
||||
|
||||
See [How to install and use Docker on Ubuntu 24.04](../cloud/How-to-use-Docker-on-3Engines-Cloud.html.md).
|
||||
See [How to install and use Docker on Ubuntu 24.04](../cloud/How-to-use-Docker-on-connectVM-Cloud.html.md).
|
||||
|
||||
Deploy Harbor private registry with Bitnami-Harbor Helm chart[🔗](#deploy-harbor-private-registry-with-bitnami-harbor-helm-chart "Permalink to this headline")
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@ -199,7 +199,7 @@ The final step is to associate the A record of your domain to the Harbor’s IP
|
||||
Create or edit the A record through your domain registrar
|
||||
: The exact steps will vary from one registrar to another so explaining them is out of scope of this article.
|
||||
|
||||
Create or edit the A record through the DNS as a service available in your 3Engines Cloud account
|
||||
Create or edit the A record through the DNS as a service available in your connectVM Cloud account
|
||||
: This is explained in Prerequisite No. 6. Use commands **DNS** –> **Zones** and select the name of the site you are using instead of *mysampledomain.info*, then click on **Record Sets**. In column **Type**, there will be type **A - Address record** and click on **Update** field on the right side to enter or change the value in that row:
|
||||
|
||||

|
||||
@ -1,9 +1,9 @@
|
||||
Sealed Secrets on 3Engines Cloud Kubernetes[🔗](#sealed-secrets-on-brand-name-kubernetes "Permalink to this headline")
|
||||
Sealed Secrets on connectVM Cloud Kubernetes[🔗](#sealed-secrets-on-brand-name-kubernetes "Permalink to this headline")
|
||||
=======================================================================================================================
|
||||
|
||||
Sealed Secrets improve security of our Kubernetes deployments by enabling encrypted Kubernetes secrets. This allows to store such secrets in source control and follow GitOps practices of storing all configuration in code.
|
||||
|
||||
In this article we will install tools to work with Sealed Secrets and demonstrate using Sealed Secrets on 3Engines Cloud cloud.
|
||||
In this article we will install tools to work with Sealed Secrets and demonstrate using Sealed Secrets on connectVM Cloud cloud.
|
||||
|
||||
What We Are Going To Cover[🔗](#what-we-are-going-to-cover "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------
|
||||
@ -19,25 +19,25 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Understand Helm deployments**
|
||||
|
||||
To install Sealed Secrets on Kubernetes cluster, we will use the appropriate Helm chart. The following article explains the procedure:
|
||||
|
||||
[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 Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
|
||||
No. 3 **Kubernetes cluster**
|
||||
|
||||
General explanation of how to create a Kubernetes cluster is here:
|
||||
|
||||
[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 Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
[How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
Step 1 Install the Sealed Secrets controller[🔗](#step-1-install-the-sealed-secrets-controller "Permalink to this headline")
|
||||
---------------------------------------------------------------------------------------------------------------------------
|
||||
@ -174,4 +174,4 @@ The command prompt will change to **#**, meaning the command you enter is execut
|
||||
What To Do Next[🔗](#what-to-do-next "Permalink to this headline")
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Sealed Secrets present a viable alternative to secret management using additional tools such as HashiCorp-Vault. For additional information, see [Installing HashiCorp Vault on 3Engines Cloud Magnum](Installing-HashiCorp-Vault-on-3Engines-Cloud-Magnum.html.md).
|
||||
Sealed Secrets present a viable alternative to secret management using additional tools such as HashiCorp-Vault. For additional information, see [Installing HashiCorp Vault on connectVM Cloud Magnum](Installing-HashiCorp-Vault-on-connectVM-Cloud-Magnum.html.md).
|
||||
@ -1,4 +1,4 @@
|
||||
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")
|
||||
Using Dashboard To Access Kubernetes Cluster Post Deployment On connectVM Cloud connectVM Magnum[🔗](#using-dashboard-to-access-kubernetes-cluster-post-deployment-on-brand-name-connectVM-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.
|
||||
@ -20,11 +20,11 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 3Engines Magnum[🔗](#using-kubernetes-ingress-on-brand-name-cloud-name-3Engines-magnum "Permalink to this headline")
|
||||
Using Kubernetes Ingress on connectVM Cloud connectVM Magnum[🔗](#using-kubernetes-ingress-on-brand-name-cloud-name-connectVM-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.
|
||||
@ -21,7 +21,7 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
No. 1 **Account**
|
||||
|
||||
You need a 3Engines Cloud hosting account with access to the Horizon interface: <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with access to the Horizon interface: <https://console.connectvm.com/>.
|
||||
|
||||
No. 2 **Basic knowledge of Kubernetes fundamentals**
|
||||
|
||||
@ -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 3Engines Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-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 3Engines Magnum](How-to-Create-a-Kubernetes-Cluster-Using-3Engines-Cloud-3Engines-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 connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-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).
|
||||
|
||||
@ -117,7 +117,7 @@ nginx-web NodePort 10.254.101.230 <none> 80:32532/TCP
|
||||
|
||||
The services were created with the type *NodePort*, which is a required type to work with ingress. Therefore, they are not yet exposed under a public IP. The servers are, however, already running and serving their default welcome pages.
|
||||
|
||||
You could verify that by assigning a floating IP to one of the nodes (see [How to Add or Remove Floating IP’s to your VM on 3Engines Cloud](../networking/How-to-Add-or-Remove-Floating-IPs-to-your-VM-on-3Engines-Cloud.html.md)). Then SSH to the node and run the following command:
|
||||
You could verify that by assigning a floating IP to one of the nodes (see [How to Add or Remove Floating IP’s to your VM on connectVM Cloud](../networking/How-to-Add-or-Remove-Floating-IPs-to-your-VM-on-connectVM-Cloud.html.md)). Then SSH to the node and run the following command:
|
||||
|
||||
```
|
||||
curl <name-of-node>:<port-number>
|
||||
@ -1,4 +1,4 @@
|
||||
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")
|
||||
Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on connectVM Cloud connectVM Magnum[🔗](#volume-based-vs-ephemeral-based-storage-for-kubernetes-clusters-on-brand-name-connectVM-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 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**):
|
||||
The concept of volumes was first popularized by Docker, where it was a directory on disk, or within a container. In connectVM Cloud connectVM 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**):
|
||||
|
||||
```
|
||||
3Engines coe cluster create --docker-volume-size 50
|
||||
connectVM coe cluster create --docker-volume-size 50
|
||||
|
||||
```
|
||||
|
||||
@ -32,15 +32,15 @@ Prerequisites[🔗](#prerequisites "Permalink to this headline")
|
||||
|
||||
1 **Hosting**
|
||||
|
||||
You need a 3Engines Cloud hosting account with Horizon interface <https://3engine.rootxwire.com/>.
|
||||
You need a connectVM Cloud hosting account with Horizon interface <https://console.connectvm.com/>.
|
||||
|
||||
2 **Creating clusters with CLI**
|
||||
|
||||
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.
|
||||
The article [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-Magnum.html.md) will introduce you to creation of clusters using a command line interface.
|
||||
|
||||
3 **Connect 3Engines client to the cloud**
|
||||
3 **Connect connectVM client to the cloud**
|
||||
|
||||
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)
|
||||
Prepare **connectVM** and **magnum** clients by executing *Step 2 Connect connectVM and Magnum Clients to Horizon Cloud* from article [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-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 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.
|
||||
An SSH key-pair created in connectVM dashboard. To create it, follow this article [How to create key pair in connectVM Dashboard on connectVM Cloud](../cloud/How-to-create-key-pair-in-connectVM-Dashboard-on-connectVM-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:
|
||||
|
||||
```
|
||||
3Engines coe cluster create dockerspace
|
||||
connectVM 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
|
||||
|
||||
3Engines coe cluster config
|
||||
connectVM coe cluster config
|
||||
--dir dockerspacedir
|
||||
--force
|
||||
--output-certs
|
||||
@ -176,7 +176,7 @@ dockerspace
|
||||
First create a new directory, *dockerspacedir*, where the config file for access to the cluster will reside, then execute the **cluster config** command. The output will be a line like this:
|
||||
|
||||
```
|
||||
export KUBECONFIG=/Users/duskosavic/3EnginesDocs/dockerspacedir/config
|
||||
export KUBECONFIG=/Users/duskosavic/connectVMDocs/dockerspacedir/config
|
||||
|
||||
```
|
||||
|
||||
@ -2,39 +2,39 @@
|
||||
|
||||
## Available Documentation
|
||||
|
||||
* [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 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)
|
||||
* [How to Create a Kubernetes Cluster Using connectVM Cloud connectVM Magnum](How-to-Create-a-Kubernetes-Cluster-Using-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Default Kubernetes cluster templates in connectVM Cloud Cloud](Default-Kubernetes-cluster-templates-in-connectVM-Cloud-Cloud.html.md)
|
||||
* [How To Install connectVM and Magnum Clients for Command Line Interface to connectVM Cloud Horizon](How-To-Install-connectVM-and-Magnum-Clients-for-Command-Line-Interface-to-connectVM-Cloud-Horizon.html.md)
|
||||
* [How To Use Command Line Interface for Kubernetes Clusters On connectVM Cloud connectVM Magnum](How-To-Use-Command-Line-Interface-for-Kubernetes-Clusters-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [How To Access Kubernetes Cluster Post Deployment Using Kubectl On connectVM Cloud connectVM Magnum](How-To-Access-Kubernetes-Cluster-Post-Deployment-Using-Kubectl-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Using Dashboard To Access Kubernetes Cluster Post Deployment On connectVM Cloud connectVM Magnum](Using-Dashboard-To-Access-Kubernetes-Cluster-Post-Deployment-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [How To Create API Server LoadBalancer for Kubernetes Cluster on connectVM Cloud connectVM Magnum](How-To-Create-API-Server-LoadBalancer-for-Kubernetes-Cluster-On-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Creating Additional Nodegroups in Kubernetes Cluster on connectVM Cloud connectVM Magnum](Creating-Additional-Nodegroups-in-Kubernetes-Cluster-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Autoscaling Kubernetes Cluster Resources on connectVM Cloud connectVM Magnum](Autoscaling-Kubernetes-Cluster-Resources-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Volume-based vs Ephemeral-based Storage for Kubernetes Clusters on connectVM Cloud connectVM Magnum](Volume-based-vs-Ephemeral-based-Storage-for-Kubernetes-Clusters-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Backup of Kubernetes Cluster using Velero](Backup-of-Kubernetes-Cluster-using-Velero.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)
|
||||
* [Install and run Argo Workflows on 3Engines Cloud Magnum Kubernetes](Install-and-run-Argo-Workflows-on-3Engines-Cloud-Magnum-Kubernetes.html.md)
|
||||
* [Installing HashiCorp Vault on 3Engines Cloud Magnum](Installing-HashiCorp-Vault-on-3Engines-Cloud-Magnum.html.md)
|
||||
* [HTTP Request-based Autoscaling on K8S using Prometheus and Keda on 3Engines Cloud](HTTP-Request-based-Autoscaling-on-K8S-using-Prometheus-and-Keda-on-3Engines-Cloud.html.md)
|
||||
* [Create and access NFS server from Kubernetes on 3Engines Cloud](Create-and-access-NFS-server-from-Kubernetes-on-3Engines-Cloud.html.md)
|
||||
* [Deploy Keycloak on Kubernetes with a sample app on 3Engines Cloud](Deploy-Keycloak-on-Kubernetes-with-a-sample-app-on-3Engines-Cloud.html.md)
|
||||
* [Install and run Dask on a Kubernetes cluster in 3Engines Cloud cloud](Install-and-run-Dask-on-a-Kubernetes-cluster-in-3Engines-Cloud-cloud.html.md)
|
||||
* [Install and run NooBaa on Kubernetes cluster in single- and multicloud-environment on 3Engines Cloud](Install-and-run-NooBaa-on-Kubernetes-cluster-in-single-and-multicloud-environment-on-3Engines-Cloud.html.md)
|
||||
* [Private container registries with Harbor on 3Engines Cloud Kubernetes](Private-container-registries-with-Harbor-on-3Engines-Cloud-Kubernetes.html.md)
|
||||
* [Deploying vGPU workloads on 3Engines Cloud Kubernetes](Deploying-vGPU-workloads-on-3Engines-Cloud-Kubernetes.html.md)
|
||||
* [Kubernetes cluster observability with Prometheus and Grafana on 3Engines Cloud](Kubernetes-cluster-observability-with-Prometheus-and-Grafana-on-3Engines-Cloud.html.md)
|
||||
* [Enable Kubeapps app launcher on 3Engines Cloud Magnum Kubernetes cluster](Enable-Kubeapps-app-launcher-on-3Engines-Cloud-Magnum-Kubernetes-cluster.html.md)
|
||||
* [Install GitLab on 3Engines Cloud Kubernetes](Install-GitLab-on-3Engines-Cloud-Kubernetes.html.md)
|
||||
* [Sealed Secrets on 3Engines Cloud Kubernetes](Sealed-Secrets-on-3Engines-Cloud-Kubernetes.html.md)
|
||||
* [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 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 3Engines Magnum](Automatic-Kubernetes-cluster-upgrade-on-3Engines-Cloud-3Engines-Magnum.html.md)
|
||||
* [Using Kubernetes Ingress on connectVM Cloud connectVM Magnum](Using-Kubernetes-Ingress-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
* [Deploying Helm Charts on Magnum Kubernetes Clusters on connectVM Cloud Cloud](Deploying-Helm-Charts-on-Magnum-Kubernetes-Clusters-on-connectVM-Cloud-Cloud.html.md)
|
||||
* [Deploying HTTPS Services on Magnum Kubernetes in connectVM Cloud Cloud](Deploying-HTTPS-Services-on-Magnum-Kubernetes-in-connectVM-Cloud-Cloud.html.md)
|
||||
* [Installing JupyterHub on Magnum Kubernetes Cluster in connectVM Cloud Cloud](Installing-JupyterHub-on-Magnum-Kubernetes-cluster-in-connectVM-Cloud-cloud.html.md)
|
||||
* [Install and run Argo Workflows on connectVM Cloud Magnum Kubernetes](Install-and-run-Argo-Workflows-on-connectVM-Cloud-Magnum-Kubernetes.html.md)
|
||||
* [Installing HashiCorp Vault on connectVM Cloud Magnum](Installing-HashiCorp-Vault-on-connectVM-Cloud-Magnum.html.md)
|
||||
* [HTTP Request-based Autoscaling on K8S using Prometheus and Keda on connectVM Cloud](HTTP-Request-based-Autoscaling-on-K8S-using-Prometheus-and-Keda-on-connectVM-Cloud.html.md)
|
||||
* [Create and access NFS server from Kubernetes on connectVM Cloud](Create-and-access-NFS-server-from-Kubernetes-on-connectVM-Cloud.html.md)
|
||||
* [Deploy Keycloak on Kubernetes with a sample app on connectVM Cloud](Deploy-Keycloak-on-Kubernetes-with-a-sample-app-on-connectVM-Cloud.html.md)
|
||||
* [Install and run Dask on a Kubernetes cluster in connectVM Cloud cloud](Install-and-run-Dask-on-a-Kubernetes-cluster-in-connectVM-Cloud-cloud.html.md)
|
||||
* [Install and run NooBaa on Kubernetes cluster in single- and multicloud-environment on connectVM Cloud](Install-and-run-NooBaa-on-Kubernetes-cluster-in-single-and-multicloud-environment-on-connectVM-Cloud.html.md)
|
||||
* [Private container registries with Harbor on connectVM Cloud Kubernetes](Private-container-registries-with-Harbor-on-connectVM-Cloud-Kubernetes.html.md)
|
||||
* [Deploying vGPU workloads on connectVM Cloud Kubernetes](Deploying-vGPU-workloads-on-connectVM-Cloud-Kubernetes.html.md)
|
||||
* [Kubernetes cluster observability with Prometheus and Grafana on connectVM Cloud](Kubernetes-cluster-observability-with-Prometheus-and-Grafana-on-connectVM-Cloud.html.md)
|
||||
* [Enable Kubeapps app launcher on connectVM Cloud Magnum Kubernetes cluster](Enable-Kubeapps-app-launcher-on-connectVM-Cloud-Magnum-Kubernetes-cluster.html.md)
|
||||
* [Install GitLab on connectVM Cloud Kubernetes](Install-GitLab-on-connectVM-Cloud-Kubernetes.html.md)
|
||||
* [Sealed Secrets on connectVM Cloud Kubernetes](Sealed-Secrets-on-connectVM-Cloud-Kubernetes.html.md)
|
||||
* [CI/CD pipelines with GitLab on connectVM Cloud Kubernetes - building a Docker image](CICD-pipelines-with-GitLab-on-connectVM-Cloud-Kubernetes-building-a-Docker-image.html.md)
|
||||
* [How to create Kubernetes cluster using Terraform on connectVM Cloud](How-to-create-Kubernetes-cluster-using-Terraform-on-connectVM-Cloud.html.md)
|
||||
* [GitOps with Argo CD on connectVM Cloud Kubernetes](GitOps-with-Argo-CD-on-connectVM-Cloud-Kubernetes.html.md)
|
||||
* [Configuring IP Whitelisting for connectVM Load Balancer using Horizon and CLI on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Horizon-and-CLI-on-connectVM-Cloud.html.md)
|
||||
* [Configuring IP Whitelisting for connectVM Load Balancer using Terraform on connectVM Cloud](Configuring-IP-Whitelisting-for-connectVM-Load-Balancer-using-Terraform-on-connectVM-Cloud.html.md)
|
||||
* [Implementing IP Whitelisting for Load Balancers with Security Groups on connectVM Cloud](Implementing-IP-Whitelisting-for-Load-Balancers-with-Security-Groups-on-connectVM-Cloud.html.md)
|
||||
* [How to install Rancher RKE2 Kubernetes on connectVM Cloud](How-to-install-Rancher-RKE2-Kubernetes-on-connectVM-Cloud-cloud.html.md)
|
||||
* [Automatic Kubernetes cluster upgrade on connectVM Cloud connectVM Magnum](Automatic-Kubernetes-cluster-upgrade-on-connectVM-Cloud-connectVM-Magnum.html.md)
|
||||
|
||||
Reference in New Issue
Block a user