I am new to devops and I am wondering, what's the best way to use GKE, Terraform and Gitlab repository for CI/CD. Right now, there are sets of commands used with flux, cert manager, but it's not automated. What are the best practice, tools and whole scheme be used like? Thanks for the answers.
Best way to use Gitlab, Terraform, Flux and GKE in gitops principle
383 Views Asked by Jozef Vrana At
1
There are 1 best solutions below
Related Questions in GOOGLE-CLOUD-PLATFORM
- Why do I need to wait to reaccess to Firestore database even though it has already done before?
- Unable to call datastore using GCP service account key json
- Troubleshooting Airflow Task Failures: Slack Notification Timeout
- GoogleCloud Error: Not Found The requested URL was not found on this server
- Kubernetes cluster on GCE connection refused error
- Best way to upload images to Google Cloud Storage?
- Permission 'storage.buckets.get' denied on resource (or it may not exist)
- Google Datastream errors on larger MySQL tables
- Can anyone explain the output of apache-beam streaming pipeline with Fixed Window of 60 seconds?
- Parametrizing backend in terraform on gcp
- Nonsense error using a Python Google Cloud Function
- Unable to deploy to GAE from Github Actions
- Assigned A record for Subdomain in Cloud DNS to Compute Engine VM instance but not propagated/resolved yet
- Task failure in DataprocCreateClusterOperator when i add metadata
- How can I get the long running operation with google.api_core.operations_v1.AbstractOperationsClient
Related Questions in GITLAB
- There are no active runners online GitLab
- Error rising in gitlab configuration file
- Git commit asks for passphrase which I don't remember
- On Gitlab, is there a way to allow Maintaners to merge MRs even if some checks fail?
- Jenkins pipeline script: Accept merge request from Gitlab
- How to integrate GitLab code into SAP DataServices job?
- How to use dynamic value for start_in using environment variable in gitlab pipeline child job
- Replace React Variables in build folder before serving the build by express Server
- Gitlab CI/CD pipeline not destroying created Terraform created resources
- DevOps Preference: Point Solutions or Single Platform?
- GitLab release-job creates a release where asset is artifacts.zip instead of concrete file
- How to run particular jobs in GitLab CI/CD via GitLab API?
- How to start from a clean stage after maven release job fails in GitLab pipeline?
- Gitlab 16.10: The scheduler failed to assign job to the runner, please try again or contact system administrator
- Gitlab-runner cann't connect to gitlab server
Related Questions in TERRAFORM
- Why does terraform aws_cognito_user_pool always show as "updated in-place" on every single terraform plan?
- Terraform - loop over complex data in data source
- Terraform cidrsubnets
- Encountered an error (ServiceUnavailable) from host runtime on Azure Function App
- Problem to add service principal permissions with terraform
- Multiple resources for the depends_on dependencies is throwing an Error
- Parametrizing backend in terraform on gcp
- AWS EKS Fargate pod scheduling issue with Prometheus deployment
- Terraform valdiate that one of N variables is set to "true"
- How to assign a value to a string variable, that includes embedded '=' in the value
- Terraform loop over Map variable to provision multiple Databricks catalogs
- Terraform OCI error when creating Network Load Balancer
- logiapp teams api connection terraform user sign in
- Difference between google_project_iam_* and other google_*_iam_* resources
- JSON representation of the current Terraform configuration
Related Questions in GITOPS
- ArgoCD Doesn't Trigger Kubernetes Job on Image Tag Update Using Hooks
- syncing of helmrelease through flux
- ArgoCD deploy app-of-apps to remote cluster
- ArgoCD: Multiple sources for a helm chart
- Kustomize args field in Kubernetes deployment resource and encrypt/manage the args password for Git (ArgoCD)
- Preventing Unnecessary Syncs in Argo CD with Multi-Service Helm Chart Repo Setup
- Azure Kubernetes GitOps flux
- issue while deploying applicationset using list generator in argocd
- Issue in adding eks cluster as a remote in argocd
- ArgoCD App-of-Apps - Ensuring Strimzi Child App Health Before Kafka App Sync
- Access Azure devops repository from gitops by terraform
- Argocd: Matrix generator: map has no entry for key "config"
- How to manage keycloak using gitops for multiple environment
- GitOps and Liquibase
- ArgoCD ignoreDifferences not working for openshift machinesets with kyverno mutation
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In my previous project we've tried quite a few approaches and in the end realised that deployment with Octopus Deploy was the best fit, though partly cause it was used wider across the company, but for deployment with terraform it was also quite good. The main benefit was having the concept of tenants which correspond to each client (in particular Google Cloud project) and for a tenant you can set plenty of variables which mostly going to be used by terraform. Depending on the list of variables having configured each tenant can be a quite tedious task but I guess it's only at the first setup. Then it's much quicker to update it and run actual deployment.
We've also tried GitOps as in having repo per client (GCP project) with those variables and in our deployment scripts just pulling those repos and it's good as well cause it brings all benefits of having specification in source code as in logging and being single source of truth. The main disadvantage though was on any change there merge request should have been opened and it could take quite a while. If in your case it's not neccessary and the pipeline running on the changes to such specs repos is not so long then you can try it, why not.
Another thing you can try is to put variables into Gitlab variables, but it also depends on number of environments you've got, if it's going to keep growing (assuming it is) it probably not a good idea as there's no much visibility over changes and it can be hard to keep track of all those variables.