Deploying KubeDirector Applications
Deploy KubeDirector applications into HPE Ezmeral Container Platform using the KubeDirector tab of the Kubernetes Applications screen.
This article describes how to deploy KubeDirector applications using the KubeDirector tab of the Kubernetes Applications screen (see KubeDirector Tab).
For instructions on onboarding a Kubectl application, see Onboarding Applications.
If your application will use GPU resources, see also Using GPUs in Kubernetes Pods.
To deploy a KubeDirector application:
- Log into the web interface as a Member of the Kubernetes cluster within which you want to launch the application.
- In the main menu, select Applications to open the Kubernetes Applications screen. See The Kubernetes Applications Screen.
- If needed, select KubeDirector to open the KubeDirector tab.
-
Find the tile that corresponds to the application you want to deploy, and then click the Launch button on that tile.
The Launch Kubernetes Applications screen appears.
-
Edit some or all of the following information, as appropriate:
- apiVersion: API to use for the pod that will be created to deploy this application.
- Metadata name: Name of the pod that will be created to deploy this application.
- Metadata namespace: Kubernetes namespace to use. Leave this at the default setting unless you are an advanced Kubernetes user.
- Spec name: Name of the application being launched. Do not modify this value.
- appCatalog: Source of the application being launched inside this pod. Do not modify this value.
- Roles: Each application requires virtual
nodes/containers with one or more roles. The correct name and number of
roles appears in the Launch Kubernetes Applications
screen by default, and the following information appears for each role:
- id: name of the role. Do not modify this value.
- members: number of virtual containers to
create with this role. For example,
members: 3
means that three virtual nodes will be created for a role. - Resource requests: Requested amount of memory
and CPU resources to use for each container of the current role that
is being created in this pod. For example,
memory: "4Gi"
andcpu: "2"
means that each container will request 4GB of RAM and two CPU cores. - Resource limits: Maximum amount of memory and
CPU resources that can be used by each container of the current role
that is being created in this pod. For example,
memory: "4Gi"
andcpu: "2"
means that each container can use a maximum of 4GB of RAM and two CPU cores.
- Click Submit.
HPE Ezmeral Container Platform returns you to the Kubernetes Applications screen. The new pod that you just created appears in the KubeDirector Running Applications table. When the Status of this pod changes to ready, then you may access the service endpoints within that pod using either the command line or the Service Endpoints tab (see Service Endpoints Tab).
Improper parameter modification may cause pod creation to fail or other undesirable behavior.
Deploying Applications in an Air-Gap Environment
If Kubernetes is deployed in an air-gap configuration (see Kubernetes Air-Gap Requirements and Air Gap Tab), then you will need to
manually edit KubeDirectorApp
resources, as follows:
- Retrieve the desired image from the bluedata Docker hub based
on the following path for the images required (link opens an external website in
a new browser tab/window):
CentOS 8.0 /centos8:1.0 Spark 2.4.5 + Jupyterhub /spark245:5.2.0.35 TensorFlow + Jupyter tensorflow /tensorflow:latest-gpu-py3-jupyter Ubuntu 18.04 /ubuntu18.04:1.1 Jupyter notebook /kd-notebook:1.1 Training engine controller : /kd-training:1.3 RESTserver: /kd-api-serving:1.2 Deployment Engine /kd-api-serving:1.2
- In the
kd-apps
namespace, change thedefaultImageRepoTag
and (if present)imageRepoTag
parameters to identify the image on a locally-accessible repo.
For example, for the spark221e2
KubeDirector App, execute the
command kubectl -n kd-apps edit kdapp spark221e2
, and then modify
the defaultImageRepoTag
and imageRepoTag
parameters.
Enabling SSH Access to KubeDirector Application Pods
To enable SSH access to KubeDirector application pods:
- Execute the following command to initialize and open a web terminal to connect
to the pod:
For example:kubectl exec -it <pod name> - - /bin/bash
#> kubectl exec -it kdss-66ddf-0 - - /bin/bash pod_terminal#>passwd bluedata ### provide password or add user using adduser -p command pod_terminal#>exit
- SSH from your web terminal or other client in the usual way by connecting to the
access point displayed on the Service Endpoints tab of
the Kubernetes Applications screen. See Service Endpoints
Tab. For example:
ssh bluedata@<access point> -p <port number> #> ssh bluedata@vm188.mycorp.net -p 10011
- Provide your password to complete the connection.
For Additional Information
This App Authoring Markdown File includes additional information about using Kubernetes in HPE Ezmeral Container Platform using the open-source BlueK8s project, which includes the KubeDirector operator. (Link downloads a .zip file that extracts to an .md text file.)