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?