github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/scripts/vagrant/multi/README.md (about)

     1  # Vagrant
     2  
     3  This allows comparisons between a feature branch (specified by a `FEATURE_DOCKER_IMAGE` environment variable), and `latest`.
     4  
     5  It includes:
     6  - kubernetes (using kind)
     7  - etcd (single node)
     8  - m3db operator
     9  - m3db node (multi node)
    10  - m3coordinator dedicated (two instances)
    11  - prometheus
    12  - grafana (accessible localhost:3333, login admin:admin)
    13  
    14  # Requirements
    15  Setup vagrant azure provider via [docs](https://github.com/Azure/vagrant-azure).
    16  Or alternatively set up google provider via [docs](https://github.com/mitchellh/vagrant-google).
    17  
    18  # Local setup
    19  
    20  Start:
    21  ```bash
    22  ./start_vagrant.sh
    23  ```
    24  
    25  Stop:
    26  ```bash
    27  ./stop_vagrant.sh
    28  ```
    29  
    30  Reopen tunnels:
    31  ```bash
    32  ./tunnel_vagrant.sh
    33  ```
    34  
    35  SSH:
    36  ```bash
    37  ./ssh_vagrant.sh
    38  ```
    39  
    40  # GCP setup
    41  
    42  After authorizing with gcloud, use ~/.ssh/google_compute_engine as the SSH key.
    43  
    44  Start:
    45  ```bash
    46  FEATURE_DOCKER_IMAGE=quay.io/m3dbtest/m3dbnode:feature PROVIDER="google" GOOGLE_PROJECT_ID="your_google_project_id" GOOGLE_JSON_KEY_LOCATION="your_google_service_account_json_key_as_local_path" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ./start_vagrant.sh
    47  ```
    48  
    49  Stop:
    50  ```bash
    51  PROVIDER="google" GOOGLE_PROJECT_ID="your_google_project_id" GOOGLE_JSON_KEY_LOCATION="your_google_service_account_json_key_as_local_path" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/stop_vagrant.sh
    52  ```
    53  
    54  Reopen tunnels (must provide $MACHINE):
    55  ```bash
    56  MACHINE=primary PROVIDER="google" GOOGLE_PROJECT_ID="your_google_project_id" GOOGLE_JSON_KEY_LOCATION="your_google_service_account_json_key_as_local_path" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/tunnel_vagrant.sh
    57  ```
    58  
    59  SSH (must provide $MACHINE):
    60  ```bash
    61  MACHINE=primary PROVIDER="google" GOOGLE_PROJECT_ID="your_google_project_id" GOOGLE_JSON_KEY_LOCATION="your_google_service_account_json_key_as_local_path" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/ssh_vagrant.sh
    62  ```
    63  
    64  # AZURE setup
    65  
    66  After authorizing with azure, use preferred key as the SSH key.
    67  
    68  Start:
    69  ```bash
    70  FEATURE_DOCKER_IMAGE=quay.io/m3dbtest/m3dbnode:feature PROVIDER="azure" AZURE_TENANT_ID="tenant-id" AZURE_CLIENT_ID="client-id" AZURE_CLIENT_SECRET="client-secret" AZURE_SUBSCRIPTION_ID="subscription-id" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ./start_vagrant.sh
    71  ```
    72  
    73  Stop:
    74  ```bash
    75  PROVIDER="azure" AZURE_TENANT_ID="tenant-id" AZURE_CLIENT_ID="client-id" AZURE_CLIENT_SECRET="client-secret" AZURE_SUBSCRIPTION_ID="subscription-id" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/stop_vagrant.sh
    76  ```
    77  
    78  Reopen tunnels (must provide $MACHINE):
    79  ```bash
    80  MACHINE=primary PROVIDER="azure" AZURE_TENANT_ID="tenant-id" AZURE_CLIENT_ID="client-id" AZURE_CLIENT_SECRET="client-secret" AZURE_SUBSCRIPTION_ID="subscription-id" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/tunnel_vagrant.sh
    81  ```
    82  
    83  SSH (must provide $MACHINE):
    84  ```bash
    85  MACHINE=primary PROVIDER="azure" AZURE_TENANT_ID="tenant-id" AZURE_CLIENT_ID="client-id" AZURE_CLIENT_SECRET="client-secret" AZURE_SUBSCRIPTION_ID="subscription-id" USER="$(whoami)" SSH_KEY="your_ssh_key_as_local_path" ../shared/ssh_vagrant.sh
    86  ```
    87  
    88  # Running
    89  
    90  Once setup you can SSH into the benchmarker vm and turn on write load (scaling to a single replica is roughly equivalent to applying 10,000 writes/sec):
    91  ```bash
    92  kubectl scale --replicas=1 deployment/promremotebench
    93  ```
    94  
    95  ## Accessing Grafana
    96  
    97  You can access grafana by visiting `http://localhost:3333` and using username `admin` and password `admin`.