Kubernetes Clusters

OpeNgine has the following options for Kubernetes clusters:

Please note:

  • It is not possible to mix Kubernetes and VPC implementations from different cloud platforms for the same cluster

  • It is not possible yet to use existing Kubernetes cluster, this feature is in our roadmap

  • OpeNgine does not yet support on-premices/private cloud options for Kubernetes deployment, this feature is in our roadmap

  • OpeNgine can provision multiple clusters on several cloud platforms simultaneously (e.g. one cluster on GCP and another on Azure), but such set of clusters does not have network interconnectivity and therefore can’t be configured as OpeNgine environment with centralized control pane and toolset. With some sort of manual work it is possible, but not tested yet and can’t be recommented as way to go for current OpeNgine version

In the OpeNgine configuration file environment/vars.yml all Kubernetes clusters are defined as single k8s: block containing multiple Kubernetes cluster definitions. The block can contain mix of VPC configurations for different cloud platforms.

Kubernetes clusters configuration in environment/vars.yml file looks like this:

k8s:
  the-first-cluster:
    type: gcp-provision-gke
    region: us-central1
    zones:
      - "us-central1-a"
    vpc:
      name: the-first-vpc
      subnet: frontend
      ip_range_pods: pods
      ip_range_services: services
    firewal_exeption_ip_ranges:
      - "0.0.0.0/0"
    min_count: 1
    max_count: 5
    initial_node_count: 2
    namespace: "teamenv4k8s"
    mashine_type: "n1-standard-2"
    disk_size_gb: 10
    disk_type: "pd-standard"
    image_type: "COS"
    auto_repair: true
    auto_upgrade: true
    preemptible: false
    kubernetes_version: "1.12.7-gke.10"
    service_account: "terraform@the-project.iam.gserviceaccount.com"
    logging_service: none
    monitoring_service: none
    kubernetes_dashboard: false

  the-second-cluster:
    type: gcp-provision-gke
    region: us-central1
    zones:
      - "us-central1-a"
    vpc:
      name: the-second-vpc
      subnet: frontend2
      ip_range_pods: pods
      ip_range_services: services
    firewal_exeption_ip_ranges:
      - "0.0.0.0/0"
    min_count: 1
    max_count: 5
    initial_node_count: 2
    namespace: "teamenv4k8s"
    mashine_type: "n1-standard-2"
    disk_size_gb: 10
    disk_type: "pd-standard"
    image_type: "COS"
    auto_repair: true
    auto_upgrade: true
    preemptible: false
    kubernetes_version: "1.12.7-gke.10"
    service_account: "terraform@the-project.iam.gserviceaccount.com"
    logging_service: none
    monitoring_service: none
    kubernetes_dashboard: false

The above example configures two GKE clusters, please refer to corresponding section in documentation for more information.