Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo: Automated minimal landing zone with a (hub-env and core-landing-zone) KPT based deployment on a clean GCP organization - walkthrough #611

Open
obriensystems opened this issue Oct 24, 2023 · 3 comments

Comments

@obriensystems
Copy link
Collaborator

obriensystems commented Oct 24, 2023

OCI/GitOps version at #766

Minimal Landing Zone from a clean GCP organization using a single script - use for development or CI/CD

FinOps: PAYG + GKE + GCE costs will be $80/day above the normal $10/day for the GKE cluster alone.

This jira will document standing up a subset of the full landing zone consisting of the following 2 packages in a clean org
References

See ongoing documentation in
https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/wiki/DevOps#landing-zone-user-procedures

Clean Organization

Clean super admin

The super admin account will have the organization administrator role and be able to create projects through the project creator role on the organization (all users inherit this and we will lock it down later)

Screenshot 2023-10-24 at 13 45 00 Screenshot 2023-10-24 at 13 45 41

Launch shell.cloud.google.com

navigate to https://shell.cloud.google.com

Screenshot 2023-10-24 at 15 27 18

By default the user is an Organization Administrator
We will add required roles to get the point of creating a bootstrap project and then let the landing zone setup script take over adding roles required for LZ bootstrap.

Screenshot 2023-10-24 at 15 29 31

For those customers on direct billing - activate your credits
Screenshot 2023-10-24 at 15 32 32
Screenshot 2023-10-24 at 15 33 29

5 billing projects required

Prepare for increasing billing quota above 5 projects by paying early $50 and asking for a billing quota increase 2 days later - for how use shared billing to go past 5. For the purposes of the core-landing-zone and hub-env you need 1 bootstrap project, 1 config controller project, a logging and dns project and a hub project. Therefore disable billing on "My first project" to have all 5 for now.

follow instructions to increase your billing account quota to above 10 (I asked for 10 in addition to the default 5) using our instructions below

https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/wiki/Onboarding#billing-quota
fill out
https://support.google.com/code/contact/billing_quota_increase

Usually you are approved within 60 seconds
Screenshot 2023-10-28 at 09 36 39

licence key config
https://github.com/fortinetsolutions/terraform-modules/blob/master/GCP/modules/fortigate_byol/main.tf#L33

@obriensystems
Copy link
Collaborator Author

obriensystems commented Oct 28, 2023

Create bootstrap project

Optionally create a folder to hold the landing zone or the script will do this for you
Create a bootstrap project and clone the landing zone repo
https://console.cloud.google.com/cloud-resource-manager
Screenshot 2023-10-28 at 09 37 47

Use a unique project name/id - here I add kcc- and add my email + domain first letters in sequence

kcc-dcno
Screenshot 2023-10-28 at 09 39 54

Navigate to the cloud shell and switch to your project

https://shell.cloud.google.com/?pli=1&show=ide%2Cterminal

Welcome to Cloud Shell! Type "help" to get started.
To set your Cloud Platform project in this session use “gcloud config set project [PROJECT_ID]”
dev@cloudshell:~$ history
    1  history
dev@cloudshell:~$ ls
README-cloudshell.txt
dev@cloudshell:~$ gcloud config set project kcc-dcno
Updated property [core/project].
dev@cloudshell:~ (kcc-dcno)$ 

@obriensystems
Copy link
Collaborator Author

obriensystems commented Oct 28, 2023

Note: config-control namespace override

project/hub-env/fortigate/service-account.yaml:37

kind: IAMPolicyMember
metadata:
  name: fortigatesdn-sa-fortigatesdnviewer-role-permissions
  namespace: config-control # kpt-set: ${management-namespace}
 

via
project/hub-env/setters.yaml:22
  # keep config-control as the default
  management-namespace: config-control 

Clone landing zone repo and add IAM permissions for additional roles like quota administrator required later

Add additional IAM super admin roles

@obriensystems obriensystems changed the title Demo: Automated hub-env and core-landing-zone deployment to a clean GCP organization - walkthrough Demo: Automated minimal landing zone with a (hub-env and core-landing-zone) deployment on a clean GCP organization - walkthrough Oct 28, 2023
@obriensystems
Copy link
Collaborator Author

20231206 oi org core-landing-zone 0.7.0 deployment in
#654 (comment)

@fmichaelobrien fmichaelobrien changed the title Demo: Automated minimal landing zone with a (hub-env and core-landing-zone) deployment on a clean GCP organization - walkthrough Demo: Automated minimal landing zone with a (hub-env and core-landing-zone) KPT based deployment on a clean GCP organization - walkthrough Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants