DEV Community

Cover image for Link an OpenShift K8s Context to a local ENT CLI profile
Sohini Pattanayak for Entando

Posted on • Updated on

Link an OpenShift K8s Context to a local ENT CLI profile

In this blog, we learn to link an OpenShift K8S Context to a local ENT CLI profile.

Sometimes we need to work with different environments for a given project or to switch between a few ones. It could also help a team to separate the responsibilities on different steps of a process such as integration, QE testing, and pre-production. It can also be a game-changer to be able to switch between different versions of a given application. As in such scenarios, separate environments become a requirement. Later, we can link those environments to several ENT profiles and use them accordingly.

To link an OpenShift K8S Context to a local ENT CLI profile, you’ll need the following installed on your computer:

OpenShift CLI (OC) is easy to install as it’s available over Github. For Mac M1 users, in case there’s an issue installing through the zip file. Please install it using homebrew.

(If we have the x86 version of brew installed then we just need to type the command: brew install openshift-clielse, we would need to prefix it with arch -x86_64. To know more, check this Github gist.)

arch -x86_64 brew install openshift-cli
Enter fullscreen mode Exit fullscreen mode

The ENT CLI is an easy installation too. For starters, please navigate to our docs page and install it with the mentioned steps.

To check, if OC was installed correctly, on our terminal, we can type:

oc version
Enter fullscreen mode Exit fullscreen mode

Image description

And to check, if ENT CLI is installed, we can type:

ent help
Enter fullscreen mode Exit fullscreen mode

Image description

Once we’re set up, we navigate to the OpenShift Web Console for our cluster. It’ll be something like this: \

https://<base_url>:<port>/console/project/<project_name>/overview
Enter fullscreen mode Exit fullscreen mode

We log in here, with our username and password. Once it’s done, we’ll be navigated to the dashboard. On the top right corner, we click on our username, and click on “Copy Login Command”.

Image description

Next, we open our terminal and paste the command that we just copied. At this point, we have configured our .kube profile with the Kube context. To check that, we run the below command on our terminal: \

Open .kube/config
Enter fullscreen mode Exit fullscreen mode

This will open up a configuration file, that’ll contain Cluster, Context, and User information, with their server name, namespace, and other credentials. In this, we’ll find the login command URL that we copied earlier from the Open Shift Web Console.

apiVersion: v1
clusters:
- context:
    cluster: mycluster:8443
    namespace: mynamespace
    user: myuser
  name: mynamespace/mycluster:8443/myuser
current-context: mynamespace/mycluster:8443/myuser
kind: Config
preferences: {}
Enter fullscreen mode Exit fullscreen mode

We can also try an alternative way, by typing in the below command on our terminal:

ent list-kubectx
Enter fullscreen mode Exit fullscreen mode

And our output would be like

mynamespace/mycluster:8443/myuser%
Enter fullscreen mode Exit fullscreen mode

Pro Tip:

To have a more detailed overview of this command, we can try adding parameters by the end of the command, for example:

ent list-kubectx sales-demo
Enter fullscreen mode Exit fullscreen mode

Through this, only the lines containing the parameter “sales-demo” (only if it exists) would get displayed. It is like a sub-string match!

Now, to link this configuration to an ENT Profile, we’ll need to follow the below steps:

  • Through the output of the ent list-kubectx command, we fill up the placeholders on the below command. (On our terminal)

**ent pro new [profileName] [EntandoAppName] [namespace]

For example ent pro new rd-sohini quickstart release-e6-3-2

Here, we are creating a new profile, for the environment we just configured. The profileName could be something like “dev” / ”rd” / ”prod” etc. The entando app name would be quickstart if we’ve installed it using the ENT CLI. If not, then we can check the app name by running the below command or ask your administrator:

kubectl get -n entando EntandoApp
Enter fullscreen mode Exit fullscreen mode

we’ll find the [namespace] on our .kube file.

  • From the config file, we find the entity: **[context-name], copy its value, and paste it in the below command:

ent pro link [contextName]

Through this command, we instruct ent how to connect to the Kube containing the EntandoApp.

  • And then, we can print the list of profiles we have. And here, we can find our newly created profile listed. ​​ent pro list
  • Now, we can also activate the profile that ent should use across the shells.
ent pro use [profileName]
Enter fullscreen mode Exit fullscreen mode

ent pro use rd-sohini

➤ [I] | 2022-01-11 09-46-23 | Current profile info:

  • PROFILE: rd-sohini
  • APPNAME: quickstart
  • APPVER:
  • NAMESPACE: mynamespace
  • K8S CONTEXT: mycontext

For the final step, when we have linked our profile to the K8s context, we check if our profile is working right. To do that, we type the below command on our terminal:

Enter fullscreen mode Exit fullscreen mode

ent pod list



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rq0xhqauoikmn1fj6a6n.png)

This lists all the pods, displaying their status, the number of restarts, and their age. That’s all.

If you’re interested in learning more about composable applications, you can check out this [blog](https://entando.com/page/en/why_the_future_of_application_development_is_composable?contentId=BLG5158&modelId=64).
Enter fullscreen mode Exit fullscreen mode

Top comments (0)