Developer Environment
Mostly under construction - coming soon
Hosting KubeStellar in a Kind cluster#
Create a Kind cluster with a port mapping#
Create a Kind cluster with the extraPortMappings
for the Ingress
controller, which will listen at port 443 on the one kind node. We
pick a port number here that does not run afoul of the usual
prohibition of ordinary user processes listening at low port numbers.
kind create cluster --name ks-host --config=- <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 443
hostPort: 1119
protocol: TCP
EOF
Create an nginx Ingress controller with SSL passthrough#
Create an nginx-ingress
with SSL passthrough. Following Kind NGINX ingress instructions, we have modified the YAML at https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml to include the --enable-ssl-passthrough=true
argument. This is the link to our raw modified nginx controller deployment YAML.
kubectl apply -f https://raw.githubusercontent.com/kubestellar/kubestellar/main/example/kind-nginx-ingress-with-SSL-passthrough.yaml
Wait for the ingress to be ready:
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=90s
Load a locally-built container image into the kind cluster#
Remember that you can do this.