Skip to content

Deploy on microk8s

Deploy on microk8s #16

Workflow file for this run

name: Test Microk8s
on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
name: Install MicroK8s
steps:
- uses: balchua/[email protected]
with:
channel: "1.30/stable"
addons: '["dns", "dashboard", "hostpath-storage", "nvidia"]'
- name: Set permissions
run: |
sudo chown -f -R $USER $HOME/.kube $HOME/.config
- name: Test MicroK8s
id: list-pods
run: |
kubectl get no
kubectl get pods -A -o wide
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Minio
id: install-minio
run: |
git clone --depth 1 --branch v6.0.1 https://github.com/minio/operator.git && kubectl apply -k operator/
sed -i 's/openebs-hostpath/microk8s-hostpath/g' ./minio-tenant-base.yaml
kubectl apply -f minio-tenant-base.yaml
echo "Sleeping for 30 seconds, give time for the operator/tenant to create the CRDs" && sleep 30
kubectl get po -A -o wide
- name: Install MongoDB
id: install-mongodb
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace mongodb
sed -i 's/openebs-hostpath/microk8s-hostpath/g' ./mongodb-values.yaml
helm install mongodb -n mongodb bitnami/mongodb --values ./mongodb-values.yaml
echo "Sleeping for 30 seconds, give time for the helm chart to create the pods" && sleep 30
kubectl get pods -A -o wide
- name: Install RabbitMQ
id: install-rabbitmq
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace rabbitmq
sed -i 's/openebs-hostpath/microk8s-hostpath/g' ./rabbitmq-values.yaml
helm install rabbitmq -n rabbitmq bitnami/rabbitmq --values ./rabbitmq-values.yaml
echo "Sleeping for 45 seconds, give time for the helm chart to create the pods" && sleep 45
kubectl get pods -A -o wide
- name: Install Kerberos Vault
id: install-kerberos-vault
run: |
kubectl create namespace kerberos-vault
kubectl apply -f ./kerberos-vault-deployment.yaml -n kerberos-vault
echo "Sleeping for 30 seconds, give time for the helm chart to create the pods" && sleep 30
kubectl get pods -A -o wide | grep kerberos-vault | awk '{print $4}' | grep -q '1/1' && echo "kerberos-vault pod is running with status 1/1" || (echo "kerberos-vault pod is not running with status 1/1" && exit 1)
- name: Install Kerberos Agent
id: install-kerberos-agent
run: |
kubectl apply -f ./kerberos-agent-deployment.yaml
echo "Sleeping for 30 seconds, give time for the helm chart to create the pods" && sleep 30
kubectl get pods -A -o wide
- name: Install Data filtering
id: install-data-filtering
run: |
sed -e '/resources/ s/^#*/#/' -i ./data-filtering-deployment.yaml
sed -e '/limits/ s/^#*/#/' -i ./data-filtering-deployment.yaml
sed -e '/nvidia/ s/^#*/#/' -i ./data-filtering-deployment.yaml
kubectl apply -f data-filtering-deployment.yaml
echo "Sleeping for 120 seconds, give time for the helm chart to create the pods" && sleep 120
kubectl get pods -A -o wide