Quick start - Linux

Requirements

  1. latest kubectl command-line tool: installation instructions

  2. latest helm command-line tool: installation instructions

  3. latest aws-cli command-line tool. Make sure to install v2 of the aws-cli and not v1: installation instructions

  4. An aws account you control: creation instructions

Run notops

Download the notops CLI

Download the notops CLI from notops-artifacts.s3.us-east-2.amazonaws.com/notops-latest and rename it to notops. Or use the following command:

curl https://notops-artifacts.s3.us-east-2.amazonaws.com/notops-latest -o notops

Create an AWS IAM user

We are using an IAM user instead of other options since this is a quick start guide

Once you have an AWS account ready to go, you'd need an AWS IAM user with enough permissions to run notops. These permissions allow notops to create and manage the infrastructure for you.

Policy

You can skip this step and use the built-in AdministratorAccess policy instead. See IAM policy for the CLI for more details.

User

Follow these instructions to create a new IAM user named notops-runner. When creating the user, keep the following in mind:

  1. Enter notops-runner as the user name

  2. Disable console access for this user by keeping the checkbox for Provide user access to the AWS Management Console - optional unchecked.

  3. Click Next. Select the option to Attach policies directly

  4. Attach the policy you created in the previous step, or the built-in AdministratorAccess policy.

  5. Click Next

  6. Click Create user

Access Keys

Once the user has been created,

  1. Go to the IAM console

  2. Select Users from the navigation bar on the left

  3. Click on the notops-runner user

  4. Go to the Security credentials tab

  5. Scroll down and under the Under Access keys, choose Create access key

  6. On the Access key best practices & alternatives page, pick Application running outside AWS and click Next

  7. Optionally set a description and then click Create access key

  8. On the Retrieve access keys page, copy both the Access key and the Secret access key (or click on the Download .csv file). This is your only opportunity to save your secret access key. If you don't save the secret key now, you cannot retrieve it again. Keep the secret key in a safe place.

We'll use the access key and the secret access key during the subsequent steps.

Create a config file

Create a local file named notops-config.yaml with the following contents. Replace demo.notops.io with a test-domain you want to access publicly over HTTPS.

notops-config.yaml
environmentName: notops-demo # you can change this to something else

aws:
  region: us-east-2 # you can use some other region here too
  routing:
    domainName: "demo.notops.io"

To understand all the configuration options, please check Configuration.

Set up a terminal for the CLI

Open your favorite terminal, and set the following env-vars

export AWS_ACCESS_KEY_ID='your aws access key'
export AWS_SECRET_ACCESS_KEY='your aws secret key'

Run notops

In the existing terminal where you specified your AWS credentials, run the following command:

./notops apply -c <path to notops-config.yaml>

This will take some time, so grab a coffee and scroll the internets for about 20 to 30 minutes.

Next Steps

Once the CLI finishes running, you'd have a whole environment ready to go. Here are the follow up steps you'd take:

Set up the DNS nameservers for your domain

Without this step, you won't be able to access the services in your cluster using the DNS hostname of your domain

Unless you specified otherwise, notops would manage the DNS for your domain using a public Route53 Zone. You'd need to set up the nameserveres for this zone. Follow these instructions: Configure Domain Nameservers.

Verify the SSL cert

If you used the sample config provided above, you can skip this step. Otherwise, please follow Verify SSL Certificate to make sure your SSL cert has been verified.

Use the kubernetes cluster

You'd need to install kubectl command-line tool.

The following command will set up your kubeconfig file. Replace <cluster-name> below with the value of the environmentName config, and <region> with the value of aws.region from the config file.

aws eks update-kubeconfig --name <cluster-name> --region <region>

Now, you're ready to start deploying on Kubernetes. Run the following command to see all the pods running in the kube-system namespace.

kubectl get pods -n kube-system

You can use the cluster anyway you like.

Deploy a demo application

See Deploy a Demo Application

Last updated