Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digichanges/experience-infra
Experiene Infra with K8S on GCP
https://github.com/digichanges/experience-infra
Last synced: 3 days ago
JSON representation
Experiene Infra with K8S on GCP
- Host: GitHub
- URL: https://github.com/digichanges/experience-infra
- Owner: DigiChanges
- Created: 2023-03-17T19:20:58.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T16:41:10.000Z (8 months ago)
- Last Synced: 2024-05-22T17:54:11.255Z (8 months ago)
- Language: Makefile
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Dockerfile
Change version in every build
```bash
docker build --tag "digichanges/nexp:latest" --tag "digichanges/nexp:1.3" .
``````bash
docker push digichanges/nexp --all-tags
```
## MinikubeWhen the helm chart is run you can access the nexp-api service with the following command:
```bash
minikube service nexp-api --url -n nexp-api
```helm template mi-api-despliegue ./mi-api-chart
## Google Cloud Provider
The helm chart allows you to deploy the application on GCP with Cloudflare as the DNS provider.
### Primeros pasos
#### Create a New Project in GCP
1. Sign in to Google Cloud Console: Go to Google Cloud Console.
2. Create a New Project: Click the navigation menu in the upper-left corner, select "IAM & Admin" > "Manage Resources". Click "CREATE PROJECT".
3. Complete Project Details: Enter a name for your project and select an organization and location if necessary. Click "CREATE."#### Create a Kubernetes Cluster
1. Enable the Kubernetes Engine API: In the GCP console, go to "Kubernetes Engine" and enable the API if it is not active.
2. Create a Cluster: In “Kubernetes Engine”, go to “Kubernetes Clusters” and click “Create Cluster”.
3. Configure your Cluster: Choose your cluster configuration according to your needs (zone, machine size, number of nodes, etc.) and click "Create".#### Create a Secret in Secret Manager
1. Enable the Secret Manager API: Go to "API & Services" > "Dashboard" and enable the Secret Manager API if it is not active.
2. Create a Secret: In "Security" > "Secret Manager", click "CREATE SECRET".
3. Configure your Secret: Give your secret a name, add the secret value, and select the appropriate tags and permissions.#### Create a Service Account with External Secrets Administrator Permissions
1. Create the Service Account: Go to "IAM & Admin" > "Service Accounts", and click on "CREATE SERVICE ACCOUNT".
2. Service Account Details: Enter a name, description and click "CREATE".
3. Assign Roles: In the roles section, assign the "External Secrets Administrator" role or the specific permissions you need.
4. Create the Service Account Key: Once created, click on the service account and go to "Keys". Click "ADD KEY" and choose the key format.You need to add the e helm repository and then install cert-manager
First you need to install CustomResourceDefinitions
```bash
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.crds.yaml
```Then you must add the helm chart.
```bash
helm repo add jetstack https://charts.jetstack.io
```Finally you install it in the cluster.
```bash
helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true
```This way it can be installed in the default `cert-manager` namespace.
You also have to install the external-secret
```bash
helm repo add external-secrets https://charts.external-secrets.io
``````bash
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--create-namespace
```