Chapter 1. Application deployment with Red Hat build of MicroShift
You can use the kustomize configuration management tool to deploy applications. Read through the following procedure for an example of how this tool works in Red Hat build of MicroShift.
1.1. How manifests work with kustomize Copy linkLink copied to clipboard!
The kustomize configuration management tool is integrated with Red Hat build of MicroShift. At every start, Red Hat build of MicroShift searches the /etc/microshift/manifests and /usr/lib/microshift/ manifest directories for a kustomization.yaml file. If it finds one, Red Hat build of MicroShift automatically runs the equivalent of the kubectl apply -k command to apply the identified manifests to the cluster.
| Location | Intent |
|---|---|
|
| Read-write location for configuration management systems or development. |
|
| Read-only location for embedding configuration manifests on OSTree-based systems. |
1.2. Using manifests example Copy linkLink copied to clipboard!
This example demonstrates automatic deployment of a BusyBox container using kustomize manifests in the /etc/microshift/manifests directory.
Procedure
Create the BusyBox manifest files by running the following commands:
Define the directory location:
$ MANIFEST_DIR=/etc/microshift/manifestsMake the directory:
$ sudo mkdir -p ${MANIFEST_DIR}Place the YAML file in the directory:
$ sudo tee ${MANIFEST_DIR}/busybox.yaml &>/dev/null <<EOF apiVersion: v1 kind: Namespace metadata: name: busybox --- apiVersion: apps/v1 kind: Deployment metadata: name: busybox-deployment spec: selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: BUSYBOX_IMAGE command: - sleep - "3600" EOF
Next, create the
kustomizemanifest files by running the following commands:Place the YAML file in the directory:
$ sudo tee ${MANIFEST_DIR}/kustomization.yaml &>/dev/null <<EOF --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: busybox resources: - busybox.yaml images: - name: BUSYBOX_IMAGE newName: registry.k8s.io/busybox EOF
Restart Red Hat build of MicroShift to apply the manifests by running the following command:
$ sudo systemctl restart microshiftApply the manifests and start the
busyboxpod by running the following command:$ oc get pods -n busybox