TL;DR
Docker/minikute/Helm のインストールまでやってくれる Vagrantfile テンプレートを作った。これ使うと ARC インストール手順の直前までやってくれる。
wget https://raw.githubusercontent.com/kyanny/vagrantfile-template-docker-minikube/main/Vagrantfile.erb vagrant init --template Vagrantfile.erb generic/ubuntu2204 vagrant up
で アクション ランナー コントローラーのインストール から続きをやれば良い。
Quickstart
Vagrant
vagrant init generic/ubuntu2204 vagrant up vagrant ssh
Docker
Vagrant の Docker Provisioner を使えば一撃でインストールしてくれる。一般ユーザー権限で docker
コマンド使えるようにするのもやってくれる。が、一応マニュアルの手順も書いておく。
Install Docker Engine on Ubuntu -> Install using the convenience script🔗
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
動作確認
sudo docker run hello-world
sudo
なしで docker run
できるように
Linux post-installation steps for Docker Engine -> Manage Docker as a non-root user🔗
sudo groupadd docker sudo usermod -aG docker $USER
一度ログアウトして VM 再起動
logout vagrant reload vagrant ssh
動作確認
docker run hello-world
minikute
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
クラスター作成
minikube start
動作確認
minikube kubectl -- get po -A
kubectl
コマンドが通るように
sudo ln -s $(which minikube) /usr/local/bin/kubectl
動作確認
kubectl get pods -A
Helm
Installing Helm -> From Script
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh
動作確認
helm
ARC
ここまでがすでに十分長い。。
NAMESPACE="arc-systems" helm install arc \ --namespace "${NAMESPACE}" \ --create-namespace \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller
GitHub の Personal Access Token (PAT) を作っておく。
GitHub API に対する認証を行う -> personal access token (classic) で ARC の認証を行う
GITHUB_PAT="ghp_************************************"
GITHUB_CONFIG_URL="https://github.com/<OWNER>/<REPO>"
INSTALLATION_NAME="arc-runner-set" NAMESPACE="arc-runners" helm install "${INSTALLATION_NAME}" \ --namespace "${NAMESPACE}" \ --create-namespace \ --set githubConfigUrl="${GITHUB_CONFIG_URL}" \ --set githubConfigSecret.github_token="${GITHUB_PAT}" \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set
動作確認
helm list -A kubectl get pods -n arc-systems
ワークフロー実行
やっと実際の動作確認。。
ここはランナー スケール セットの使用の手順通り、ワークフローファイルを作ってワークフローを実行できるか確認する。