Skip to content

Deploying the MetalSoft Global Controller

The MetalSoft Global Controller is a Kubernetes application and as such it runs as a collection of containers, services, configurations etc. Any flavor of Kubernetes is supported, including, Vanilla Kubernetes, RedHat OpenShift, AWS EKS etc.

The MetalSoft Global Controller requires a Kubernetes cluster as per this link to deploy successfully: Kubernetes Cluster Requirements

  1. An SSL certificate is required for the domain that will be mapped to the MetalSoft application in DNS.
  2. A load balancer mechanism such as MetalLB. (1 or 2 IPAddresses)
    • Setup with 1 IP Address will use ports HTTP 80, 443 and TCP port 9091
    • Setup with 2 IP Addresses, will use HTTP 80, 443 on one IP and port 443 on the other

Installing the MetalSoft controller kubernetes application

Section titled “Installing the MetalSoft controller kubernetes application”
  1. Copy the manifests to /opt/metalsoft/manifests/ && cd /opt/metalsoft/manifests/

  2. Apply the manifests to the cluster: kubectl -n <namespace> apply -f .

  3. Check if the controller components are all running:

K8S ng-metal root@k8s01: /opt/metalsoft/manifests/ng-qa $ kubectl -n <namespace> get pods
NAME READY STATUS RESTARTS AGE
auth-66fd54f9d8-pftpn 1/1 Running 1 (4h11m ago) 4h15m
couchdb-6c869cb756-rc2sz 1/1 Running 2 (4h11m ago) 10h
eli-5bc878bc7-cj4l6 1/1 Running 1 (4h11m ago) 10h
extensions-769b54d49b-vj2gv 1/1 Running 1 (4h11m ago) 10h
gateway-api-86476dbb7c-ml6w6 1/1 Running 1 (4h11m ago) 4h15m
image-builder-5565dbd9c7-hk5gq 1/1 Running 1 (4h11m ago) 4h15m
inventory-5c44c99f89-hdwpc 1/1 Running 1 (4h11m ago) 4h15m
ipam-6dc74bcf78-7plp9 1/1 Running 1 (4h11m ago) 10h
kafka-74b77ddd5b-f9lzc 1/1 Running 2 (4h11m ago) 10h
license-674bcc66b9-xgg78 1/1 Running 1 (4h11m ago) 4h15m
metalsoft-docs-5d45b56479-rx4kk 1/1 Running 2 (4h11m ago) 10h
ms-agent-8c9c4cdbc-fxqv5 1/1 Running 8 (4h11m ago) 10h
ms-tunnel-86ddbf8c86-6gjw5 1/1 Running 3 (4h11m ago) 10h
mysql-697f56958d-58tt2 1/1 Running 2 (4h11m ago) 10h
network-microservice-86cf6dc8fc-nqpb4 1/1 Running 1 (4h11m ago) 10h
notification-microservice-d685c974b-65zxc 1/1 Running 1 (4h11m ago) 10h
orchestrator-6cd869cb45-4st69 1/1 Running 2 (4h11m ago) 4h15m
pdns-6b658c4554-zt9km 1/1 Running 2 (4h11m ago) 10h
redis-764bff6bd6-bvdkz 1/1 Running 2 (4h11m ago) 10h
registry-local-5967b98b4c-6tz6n 1/1 Running 2 (4h11m ago) 10h
repo-7bdc745c68-7qcvr 1/1 Running 2 (4h11m ago) 10h
sc-ansible-runner-7b94846fdd-wmhcx 1/1 Running 2 (4h11m ago) 10h
servers-54bc6dc79b-j299l 1/1 Running 1 (4h11m ago) 10h
storage-6986748575-skk67 1/1 Running 1 (4h11m ago) 10h
switch-64f87c8659-s6dxz 1/1 Running 1 (4h11m ago) 10h
template-75cc88c59b-m2hg2 1/1 Running 1 (4h11m ago) 4h15m
traefik-demo-metalsoft-7dc8574dc9-ddz5p 1/1 Running 1 (4h11m ago) 4h15m
ui-admin-75f9977d54-chfzx 1/1 Running 1 (4h11m ago) 10h
ui-customer-68797dbf44-cjmv8 1/1 Running 1 (4h11m ago) 10h
vm-microservice-66d8d8b76-hlvjf 1/1 Running 1 (4h11m ago) 10h
zookeeper-b796dd65b-ffzw2 1/1 Running 2 (4h11m ago) 10h

Refer to the Network Flows and Firewall Requirements for more details.