github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/kube/terraform/README.md (about)

     1  # M3DB Bundle Kubernetes Terraform Module
     2  
     3  This folder contains the main module for setting up an M3DB cluster on Kubernetes which includes:
     4  
     5  1. An M3DB [Namespace](https://v1-10.docs.kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) for all M3DB-related resources.
     6  1. A 3-node etcd cluster in the form of a [StatefulSet](https://v1-10.docs.kubernetes.io/docs/concepts/workloads/controllers/statefulset/) backed by persistent remote SSDs. This cluster stores the DB topology and other runtime configuration data.
     7  1. A 3-node M3DB cluster in the form of a StatefulSet.
     8  1. [Headless services](https://v1-10.docs.kubernetes.io/docs/concepts/services-networking/dns-pod-service/#services) for the etcd and m3db StatefulSets to provide stable DNS hostnames per-pod.
     9  
    10  Public cloud provider specific instructions can be found in the examples subfolder.
    11  
    12  There are a couple of properties that currently exist in the raw bundle yaml file which has not yet been implemented by Terraform. These will be updated once the features exist in Terraform:
    13  
    14  ```yaml
    15  tolerations:
    16    - key: "dedicated-m3db"
    17      effect: NoSchedule
    18      operator: Exist
    19  
    20  ```
    21  A [pull request](https://github.com/terraform-providers/terraform-provider-kubernetes/pull/246) already exists for tolerations, but has yet to be merged.
    22  
    23  
    24  ```yaml
    25  affinity:
    26    nodeAffinity:
    27      preferredDuringSchedulingIgnoredDuringExecution:
    28        - preference:
    29          matchExpressions:
    30            - key: m3db.io/dedicated-m3db
    31              operator: In
    32              values:
    33                - "true"
    34          weight: 10
    35  
    36  ```
    37  Node Affinity is being tracked by [issue #233](https://github.com/terraform-providers/terraform-provider-kubernetes/issues/233) and is currently being worked on.
    38