Giter Club home page Giter Club logo

multizone-iks-on-vpc-arch's Introduction

Multizone IKS on VPC Architecture

This architecture creates a VPC, an IKS Cluster on that VPC, and many commonly used cloud resources

Multizone IKS on VPC Architecture


Table of Contents

  1. Multizone VPC
  2. VPC Cluster
  3. Service Instances
  4. Module Variables

Multizone VPC

This module creates a VPC in three zones of a single region, creates the ACL used by those subnets, and optionally provisions public gateways in all three zones. To read more about this module, refer to the Multizone VPC README.


VPC Cluster

This module provisions the IKS cluster for this architecture. Optinally, it can enable ALBs and create additional worker pools. To read more about this module, refer to the VPC Cluster README


Service Instances

This architecture creates the following IBM Cloud service instances:

It will also create a root key for the Key Protect instance, use that key to encrypt the PostgreSQL database and Cloud Object Storage instances, and creates service-to-service authorization policies to allow for PostgreSQL and Cloud Object Storage to read from the Key Protect Instance.


Module Variables

Variable Type Description Default
ibmcloud_api_key string The IBM Cloud platform API key needed to deploy IAM enabled resources
unique_id string A unique identifier need to provision resources. Must begin with a letter asset-roks-gen2
ibm_region string IBM Cloud region where all resources will be deployed
resource_group string Name of resource group to create VPC asset-development
generation String generation for VPC. Can be 1 or 2 2
enable_public_gateway String Enable public gateways for subnets, true or false true
cidr_blocks list A list of CIDR blocks for the VPC subnets [
acl_rules String Access control list rule set [
{
name = "egress"
action = "allow"
source = "0.0.0.0/0"
destination = "0.0.0.0/0"
direction = "inbound"
},
{
name = "ingress"
action = "allow"
source = "0.0.0.0/0"
destination = "0.0.0.0/0"
direction = "outbound"
}
]
machine_type string The flavor of VPC worker node to use for your cluster bx2.4x16
workers_per_zone number Number of workers to provision in each subnet. Openshift worker pool size must be 2 or greater. 2
disable_public_service_endpoint bool Disable public service endpoint for cluster false
kube_version string Specify the Kubernetes version, including the major.minor version. To see available versions, run ibmcloud ks versions. To use the default, leave string empty ""
wait_till string To avoid long wait times when you run your Terraform code, you can specify the stage when you want Terraform to mark the cluster resource creation as completed. Depending on what stage you choose, the cluster creation might not be fully completed and continues to run in the background. However, your Terraform code can continue to run without waiting for the cluster to be fully created. Supported args are MasterNodeReady, OneWorkerNodeReady, and IngressReady IngressReady
tags list(string) A list of tags to add to the cluster []
worker_pools String List of maps describing worker pools. Worker pools must have at least 2 workers per zone []
service_endpoints string Service endpoints for resource instances. Can be public, private, or public-and-private private
kms_plan string Plan for Key Protect tiered-pricing
kms_root_key_name string Name of the root key for Key Protect instance root-key
cos_plan string Plan for Cloud Object Storage instance standard
psql_plan string Plan for Databases for PostgreSQL standard
logdna_plan string Plan for Databases for PostgreSQL 7-day
sysdig_plan string Plan for Databases for PostgreSQL graduated-tier

multizone-iks-on-vpc-arch's People

Contributors

crissonpl avatar jvallexm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.