Kubernetes Onboarding
- To onboard the Application (Customer), create a pull request to the platform-data repository. Refer to the JSON examples below for guidance on adding an application to the Perpetual Platform AKS.
- Below are the clusters for GDA, categorized into Production and Non-Production environments:
- gda-np-ne-01.json: https://github.com/Maersk-Global/platform-data/blob/master/data/clusters/gda-np-ne-01.json
- gda-np-westeurope-1.json: https://github.com/Maersk-Global/platform-data/blob/master/data/clusters/gda-np-westeurope-1.json
- gda-prod-ne-01.json: https://github.com/Maersk-Global/platform-data/blob/master/data/clusters/gda-prod-ne-01.json
- gda-prod-westeurope-1.json: https://github.com/Maersk-Global/platform-data/blob/master/data/clusters/gda-prod-westeurope-1.json
- Cluster access is managed in Admiral through Azure AD Groups:
- opsmasterdatamgmt (Production) Team: opmdmaksplatform, 640b69d8-6706-48d4-810e-f89fe6b0d3a1
- customer-master-data-manage (Production) Team: aksplatform, f1125e70-9dda-4da2-ae77-0909041874fa
- smdsvendor-master-data-manage (Production) Team: aksplatform, 4256c101-0673-41fc-b340-41734bd3286c
- Harbor serves as the image repository managed internally by Maersk. The onboarding process for applications to Harbor is similar to that for AKS. Please refer to the following JSON files:
- https://github.com/Maersk-Global/Maersk-Harbor/blob/main/environments/prod/projects/smds-opsmdm.json
- https://github.com/Maersk-Global/Maersk-Harbor/blob/main/environments/prod/projects/smds-cmd-proxy.json
- https://github.com/Maersk-Global/Maersk-Harbor/blob/main/environments/prod/projects/smds-vendor.json
- Access to Harbor is managed via Azure AD Groups:
- opsmasterdatamanageme (Production) Team: smdsvmdm-harbor, 5957e121-1c0a-4fd4-96f5-3a6a9822f8b2
- customer-master-data-manageme (Production) Team: smdsvmdm-harbor, a1ebd605-83cf-49c1-b45b-821f22e18a65
- vendor-master-data-manageme (Production) Team: smdsvmdm-harbor, 8d1f6c65-111b-4cdb-82f6-a65456c3b7ea
- Below are the Harbor repositories for the SMDS Domain:
- https://harbor.maersk.io/harbor/projects/17682/repositories
- https://harbor.maersk.io/harbor/projects/12226/repositories
- https://harbor.maersk.io/harbor/projects/16305/repositories
- To connect to the Cluster from your local machine:
a. Install the following utilities:
- kubectl
- vault
- kubectx
b. Copy the script and execute the following command: https://github.com/Maersk-Global/platform-support/blob/master/scripts/perpetual-platform-kubeconfig.sh
perpetual-platform-kubeconfig.sh -c gda-np-westeurope-1 perpetual-platform-kubeconfig.sh -c gda-np-ne-01 perpetual-platform-kubeconfig.sh -c gda-prod-westeurope-1 perpetual-platform-kubeconfig.sh -c gda-prod-ne-01
This will create a new kube config file for each cluster, allowing you to connect to the Cluster and SMDS Namespaces. You can also use Lens to connect to the Cluster with the same kube config files.
For more information on accessing your cluster, refer to this documentation.
Deploying Applications to Perpetual AKS
We utilize FluxCD for application deployment in AKS. For further exploration of GITOPS with Flux CD, refer to the documentation below.
https://github.com/Maersk-Global/infra-flux-fleet
Here are the Flux repositories for SMDS Domains:
- https://github.com/Maersk-Global/smds-cmd-infra-flux
- https://github.com/Maersk-Global/smds-opsmdm-infra-flux
- https://github.com/Maersk-Global/smds-vendor-infra-flux
- Once the image is pushed to the Harbor repository, K8’s config files will be fetched from the Flux repository to deploy the applications.
- Below are the common actions for Harbor push and K8’s deployment:
https://github.com/Maersk-Global/smds-github-actions
- For high availability, multi-region deployments are established for the NE and WE regions. Traffic management is handled by GTM or ATM, with SMDS utilizing ATM. An additional ingress is configured for DNS.
For further understanding, refer to the following documentation:
Please consult the ingress-cname.yml in the SMDS Flux repositories for ATM configurations.
AKS Onboarding Status
For the latest updates, refer to the document below:
A new document with endpoint details will be updated soon.