- Docker on Vagrant
- minikube for Kubernetes cluster
- Vagrantfile
- Memory: more than 2048 RAM
- Docker - Provisioning | Vagrant by HashiCorp to install Docker
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.vm.provider "virtualbox" do |vb|
vb.memory = 2048
end
config.vm.provision :docker
end
- Log in to the VM
vagrant up
vagrant ssh
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
Install and Set Up kubectl on Linux | Kubernetes
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
kubectl cluster-info
Installation - cert-manager Documentation
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml
https://github.com/actions-runner-controller/actions-runner-controller#installation
- Change version (e.g.
v0.22.2
) kubectl apply
fail, usekubectl create
ref
kubectl create -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.2/actions-runner-controller.yaml
- actions/actions-runner-controller#1159 (comment)
- actions/actions-runner-controller#335 (comment)
- I don't know why :P
kubectl delete validatingwebhookconfiguration validating-webhook-configuration
kubectl delete mutatingwebhookconfiguration mutating-webhook-configuration
- Personal access token
export GITHUB_TOKEN=ghp_XXXXXXXX
kubectl create secret generic controller-manager \
-n actions-runner-system \
--from-literal=github_token=${GITHUB_TOKEN}
- runner.yaml
# runner.yaml
apiVersion: actions.summerwind.dev/v1alpha1
kind: Runner
metadata:
name: example-runner
spec:
repository: kyanny/test
env: []
kubectl apply -f runner.yaml
kubectl get pod -A
- Unfortunately, after running job,
example-runner
pod got stuck inNotReady 1/2
forever. Delete it and useRunnerDeployments
.
kubectl delete -f runner.yaml
- runnerdeployment.yaml
# runnerdeployment.yaml
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: example-runnerdeploy
spec:
replicas: 2
template:
spec:
repository: kyanny/test
env: []
kubectl apply -f runnerdeployment.yaml
kubectl get pod -A