I successfully created a kind cluster with following Kind config file.
apiVersion: kind.x-k8s.io/v1alpha4 kind: Cluster networking: apiServerAddress: "X.X.X.X" apiServerPort: 6444 nodes: - role: control-plane extraPortMappings: - containerPort: 80 hostPort: 80 # optional: set the bind address on the host # 0.0.0.0 is the current default listenAddress: "X.X.X.X" # optional: set the protocol to one of TCP, UDP, SCTP. # TCP is the default protocol: TCP - role: worker
Installed metallb in cluster and configured metallb to use network belong to kind which was found by following command
docker inspect network kind
this is how my metallb-config.yaml looks like
apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 172.17.255.1-172.17.255.250
After that I successfully integrated Kind with gitlab and installed tiller, runner and ingress. Meanwhile Ingress exposed its end point to the IP among the pool described for metallb.
Gitlab AutoDevOps pipeline went fine until deployment to production with an error.
$ auto-deploy ensure_namespace Unable to connect to the server: dial tcp X.X.X.X:6444: connect: no route to host Unable to connect to the server: dial tcp X.X.X.X:6444: connect: no route to host Running after_script 00:01 Uploading artifacts for failed job 00:00 ERROR: Job failed: command terminated with exit code 1
Seems like Pod is unable to connect base machine public IP.
Any suggestions? Did I do something wrong?