Deploy an External Provisioner¶
This tutorial deploys a CoderProvisioner for an existing CoderControlPlane managed by coder-k8s.
Estimated time: 5 minutes.
Prerequisite¶
Complete Deploy a Coder Control Plane first.
This tutorial assumes the setup from that guide:
CoderControlPlanecodercontrolplane-sampleexists in namespacecoderand isReady.- Operator access is enabled and ready (default behavior):
.status.operatorAccessReady=true.
Quick check:
kubectl get codercontrolplane codercontrolplane-sample -n coder \
-o jsonpath='{.status.phase}{"\n"}{.status.operatorAccessReady}{"\n"}'
Expected output:
Ready
true
1) Confirm external provisioner entitlement¶
CoderProvisioner requires external provisioner entitlement in the referenced Coder deployment.
kubectl get codercontrolplane codercontrolplane-sample -n coder \
-o jsonpath='{.status.externalProvisionerDaemonsEntitlement}{"\n"}'
Expected values to proceed: entitled or grace_period.
If the value is not_entitled, update the control-plane license before continuing.
2) Deploy the CoderProvisioner¶
Apply the sample manifest:
kubectl apply -f "https://raw.githubusercontent.com/coder/coder-k8s/main/config/samples/coder_v1alpha1_coderprovisioner.yaml"
3) Verify reconciliation¶
kubectl get coderprovisioner coderprovisioner-sample -n coder
kubectl get coderprovisioner coderprovisioner-sample -n coder -o jsonpath='{.status.phase}{"\n"}'
kubectl get coderprovisioner coderprovisioner-sample -n coder -o jsonpath='{range .status.conditions[*]}{.type}={.status} {.reason}{"\n"}{end}'
Verify generated resources:
kubectl get deployment provisioner-coderprovisioner-sample -n coder
kubectl get sa coderprovisioner-sample-provisioner -n coder
kubectl get role provisioner-coderprovisioner-sample -n coder
kubectl get rb provisioner-coderprovisioner-sample -n coder
kubectl get secret coderprovisioner-sample-provisioner-key -n coder
Expected: status.phase=Ready, DeploymentReady=True, and a ready provisioner pod.
4) Clean up (optional)¶
kubectl delete coderprovisioner coderprovisioner-sample -n coder
To tear down the full stack, follow cleanup in Deploy a Coder Control Plane.