ShamanOps Installation✨
Kubernetes
1. Pre-requisites
1.1. Have the following tool installed:
- docker
1.2. Have the following variables:
shamanops_customer_id
: provided by ShamanOps after registrationshamanops_customer_token
: provided by ShamanOps after registrationshamanops_manifest_repository
: This value is provided by the customer and refers to the URL of manifest repository in GIT platform (ex https://github.com/shamanops/example-repo.git).shamanops_manifest_repository_user
: This value is provided by the customer and refers to the username to access the manifest repository in GIT platform.shamanops_manifest_repository_token
: This value is provided by the customer and refers to the PAT to access the manifest repository in GIT platform.shamanops_registry_url
: This value is provided by the customer and refers to the container registry base URL (ex ghcr.io).
If you are going to use a Google Artifact Registry please check de Important Points section
shamanops_registry_user
: This value is provided by the customer and refers to the username to access the container registry.shamanops_registry_password
: This value is provided by the customer and refers to the token to access the container registry.
1.3. Be logged in the ShamanOps public registry
echo <shamanops_customer_token> | docker login registry.shamanops.com -u <shamanops_customer_id> --password-stdin
Please remember to replace the shamanops_customer_token and shamanops_customer_id with the values that the ShamanOps Team has provide you
2. Installation
The Kubernetes installation works with the most common cloud distributions like GKE, EKS and AKS
The installation will be guided by the installer who will explain each step.
You must select the environment for which the cluster will be used (you can choose a combination and use it for more than one enviroment).
👉 In case of an error, the installer will stop and inform the resason.
This installation guide assumes that you are deploying the base-stack in a cluster that has at least:
- 950m of cpu
- 3096Mi of memory
2.1. Normal
2.1.1. Execute the container image provided by ShamanOps
- Linux
- Windows
- AKS
- EKS
- GKE
- Kubernetes
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/eks:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/gke:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/kubernetes:/etc/kubernetes \
-e KUBECONFIG=/etc/kubernetes/admin.conf \
registry.shamanops.com/installers/k8s:stable
- AKS
- EKS
- GKE
- Kubernetes
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/eks:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/gke:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
-v c:/tmp:/etc/kubernetes \
-e KUBECONFIG=/etc/kubernetes/admin.conf \
registry.shamanops.com/installers/k8s:stable
2.1.2. Login to your Kubernetes cluster with Cloud CLI or kubectl CLI
2.1.3. Execute the following command
shamanops_bs_k8s_install
You can find a log file in /tmp directory
2.2. Debug
2.2.1. Execute the container image provided by ShamanOps
- Linux
- Windows
- AKS
- EKS
- GKE
- Kubernetes
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/eks:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/gke:stable
docker run --pull=always --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/kubernetes:/etc/kubernetes \
-e KUBECONFIG=/etc/kubernetes/admin.conf \
registry.shamanops.com/installers/k8s:stable
- AKS
- EKS
- GKE
- Kubernetes
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/eks:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/gke:stable
docker run --pull=always --rm -it -v //var/run/docker.sock:/var/run/docker.sock \
-v c:/tmp:/etc/kubernetes \
-e KUBECONFIG=/etc/kubernetes/admin.conf \
registry.shamanops.com/installers/k8s:stable
2.2.2. Login to your Kubernetes cluster with Cloud CLI or kubectl CLI
2.2.3. Execute the following command
shamanops_bs_k8s_install DEBUG
You can find a log file in /tmp directory
3. Once installed
Once ShamanOps is succesfully installed y ou will receive an email in which you will be able to download a file with all the information generated by the installation.
🔔 You will need to upload the generated information to your CI platform, if you use GitHub or GitLab you can choose to load it manually or with assistance.
4. Important Points
Google Artifact Registry
If your decision is to use a Google Artifact Registry these are the steps you should follow:
1. Create a Docker type Registry. You can find out how here
2. Configure a Service Account authentication for Docker. You can find out how here
Please consider that in the Toolkit installation the data should be entered in the following way:
shamanops_registry_url
: REGION-docker.pkg.dev/PROJECT-ID/REPOSITORY-NAME
(ex: us-central1-docker.pkg.dev/elegant-matrix-444319-h9/poc-registry)shamanops_registry_user
: _json_key_base64shamanops_registry_password
: BASE64-ENCODED-KEY
The shamanops_registry_password
, that should be a base64 encoded key must be in one line only
In bash you can use the following command: cat encoded-key.json | base64 | tr -d '\n' > encoded-key-oneline.json
3. You are ready to use your registry!