CI/CD Using KinD and Gitlab Auto-DevOps

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?