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
355 Views Asked by Jozef Vrana At
1
There are 1 best solutions below
Related Questions in GOOGLE-CLOUD-PLATFORM
- How to do drag and drop for a tree control in aurelia?
- how to create nested routes
- How do I configure my index.html with Systemsj to use an existing bundle?
- The this-variable is the Window object or undefined in the then-method of a promise
- How to load System.js modules with TypeScript?
- Using humane.js with aurelia
- how to use the ref.view-model feature
- Does sailjs have some request throttling defaults?
- How do I set/read a query string when using the router in aurelia?
- Aurelia DI with typescript interfaces
Related Questions in GITLAB
- How to do drag and drop for a tree control in aurelia?
- how to create nested routes
- How do I configure my index.html with Systemsj to use an existing bundle?
- The this-variable is the Window object or undefined in the then-method of a promise
- How to load System.js modules with TypeScript?
- Using humane.js with aurelia
- how to use the ref.view-model feature
- Does sailjs have some request throttling defaults?
- How do I set/read a query string when using the router in aurelia?
- Aurelia DI with typescript interfaces
Related Questions in TERRAFORM
- How to do drag and drop for a tree control in aurelia?
- how to create nested routes
- How do I configure my index.html with Systemsj to use an existing bundle?
- The this-variable is the Window object or undefined in the then-method of a promise
- How to load System.js modules with TypeScript?
- Using humane.js with aurelia
- how to use the ref.view-model feature
- Does sailjs have some request throttling defaults?
- How do I set/read a query string when using the router in aurelia?
- Aurelia DI with typescript interfaces
Related Questions in GITOPS
- How to do drag and drop for a tree control in aurelia?
- how to create nested routes
- How do I configure my index.html with Systemsj to use an existing bundle?
- The this-variable is the Window object or undefined in the then-method of a promise
- How to load System.js modules with TypeScript?
- Using humane.js with aurelia
- how to use the ref.view-model feature
- Does sailjs have some request throttling defaults?
- How do I set/read a query string when using the router in aurelia?
- Aurelia DI with typescript interfaces
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.