Skip to main content

Kubernetes

Run your first Runops Task on your private Kubernetes cluster.

Setup

Requirements

  • Access to create namespace, secrets and deployments in Kubernetes
  • Credentials for the internal system of choice

Install & signup

Running this in the terminal will install Runops and setup your account.

npm install -g runops

runops signup

Agent Installation & Configuration

Create a json file with a set of credentials to the internal system you will add to Runops. We will use a MySQL database in this example, if you want to use a different integration, check the required variables in the integrations page.

export AGENT_TOKEN= #-- change-me --#
export ENV_CONFIG=$(cat - <<EOF
{
"MYSQL_HOST": "mysql",
"MYSQL_USER": "root",
"MYSQL_PASS": "1a2b3c4d",
"MYSQL_PORT": "3306",
"MYSQL_DB": "testdb"
}
EOF)
curl -sL https://raw.githubusercontent.com/runopsio/agent/main/setup/k8s.sh | bash
kubectl apply -n runops -f https://github.com/runopsio/example-apps/blob/main/kubernetes/mysql-deploy.yaml

Create the Runops Connection

Create a Connection in Runops that uses the values from the ENV_CONFIG Secret key as credentials to connect to your database or other internal systems.

runops targets create \
--name my-test-db \
--type mysql \
--secret_provider 'env-var' \
--secret_path 'ENV_CONFIG'

Run your first Tasks

Now you can access this resource trough Runops. All sensitive data stays inside your infrastructure, with Secrets stored in your Kubernetes cluster and the connection to the database happening from your private VPC.

runops tasks create -t my-test-db -s 'SELECT NOW()'

Add Configs to Connections

To make Connections useful we need to add more configurations. Configs enable Tasks to access your real Connections, like databases, AWS Accounts, and more.

Next steps: