Page
Configuring an application on a Red Hat OpenShift Service on AWS cluster
In this section, we'll take a look at how to configure OSToy using ConfigMaps, Secrets, and environment variables. This section won't cover these objects in detail (additional resources are provided for this purpose), but we will show you how they are exposed to the application.
What will you learn?
- Configuration using ConfigMaps
- Configuration using Secrets
- Configuration using environmental secrets
What do you need before starting?
- An application successfully deployed on a Red Hat OpenShift Service on AWS (ROSA) cluster
Steps for configuring OSToy
Configuration using ConfigMaps
ConfigMaps allow you to decouple configuration artifacts from container image content to keep containerized applications portable.
- Click ConfigMaps in the left menu.
- This will display the contents of the ConfigMap available to the OSToy application. We defined this in the ostoy-fe-deployment.yaml here:
kind: ConfigMap
apiVersion: v1
metadata:
name: ostoy-configmap-files
data:
config.json: '{ "default": "123" }'
Configuration using Secrets
Kubernetes Secret objects allow you to store and manage sensitive information, such as passwords, OAuth tokens, and SSH keys. Putting this information in a Secret is safer and more flexible than putting it verbatim into a Pod definition or a container image.
- Click Secrets in the left menu.
- This will display the contents of the secrets available to the OSToy application. We defined this in the ostoy-fe-deployment.yaml here:
apiVersion: v1
kind: Secret
metadata:
name: ostoy-secret
data:
secret.txt: VVNFUk5BTUU9bXlfdXNlcgpQQVNTV09SRD1AT3RCbCVYQXAhIzYzMlk1RndDQE1UUWsKU01UUD1sb2NhbGhvc3QKU01UUF9QT1JUPTI1
type: Opaque
Configuration using environment variables
Using environment variables is an easy way to change application behavior without requiring code changes. It allows different deployments of the same application to potentially behave differently based on the environment variables. OpenShift makes it simple to set, view, and update environment variables for Pods/Deployments.
- Click ENV Variables in the left menu.
- This displays the environment variables available to the OSToy application. We added three as defined in the deployment spec of ostoy-fe-deployment.yaml here:
env:
- name: ENV_TOY_CONFIGMAP
valueFrom:
configMapKeyRef:
name: ostoy-configmap-env
key: ENV_TOY_CONFIGMAP
- name: ENV_TOY_SECRET
valueFrom:
secretKeyRef:
name: ostoy-secret-env
key: ENV_TOY_SECRET
- name: MICROSERVICE_NAME
value: OSTOY_MICROSERVICE_SVC
- Note: You may have to do a CTRL+F to find them. Search for the three names above.
The last one, MICROSERVICE_NAME is used for the intra-cluster communications between pods for this application. The application looks for this environment variable to know how to access the microservice in order to get the colors.
Now that you have learned about configuration options, you are ready to learn about intra-cluster networking.
Get more support
- Red Hat OpenShift Service on AWS frequently asked questions
- Troubleshoot with Red Hat support
- Troubleshoot with AWS support