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: