0

Context

I have installed a kubernetes cluster with kubeadm on two openstack instances ( one control and one worker). I am at the point where I can start a deployment and see the app is running by looking at the logs. My endgoal is to be able to go to <my_openstack_instance_url>/my_app_1 and .../my_app_2 to access different services / apps that I let kuberenetes manage..

  • I am not the Openstack Admin. I only have a few instances and one floating ip available. I cannot manipulate the openstack setup.

  • I am new to kubernetes ( first time setting it up ).

  • I used the official tutorial for kubeadm to set up a kubernetes cluster with one control node ( has the floating ip) and one worker node.

  • My init command was

    sudo kubeadm init --cri-socket unix:///var/run/cri-dockerd.sock --pod-network-cidr=192.168.0.0/16

My Problem

I am trying to follow the official kubernetes documentation to set up the deplyoment and service but I am running into diverse problems.

  • I cannot at all use Port Forwarding cause socat is not found by kubernetes even though it is installed.
  • Any kind of curl command from the tutorials to verify that a deployment or service is accessible never returns anything.
  • In tutorials using minikube I do not know how do modify the curl commands to work with a kubeadm setup.

What I tried in detail

https://kubernetes.io/docs/tasks/access-application-cluster/service-access-application-cluster/

Whatever IP I use as the public Ip, the curl command never gives any kind of response. I tried using the IP output of kubectl cluster-info, the floating ip of the openstack instance ( control node) and the Cluster-IP shown in kubectl get services.

I can verify the tutorial container is running as the get deployment and get service show the entries and that the app is running.

When trying to check the node IPS i never see any external ip. Not even on the control node.

https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/

Even though the proxy is running the proxy command

curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME:8080/proxy/

always returns that the pod at that port is not found. Still curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME returns the pod data

What I tried for debugging

  • I already set up security rules so the worker instance allows traffic to the container and nodes ports as described in the kubernetes documentation.
  • I ensured deployment, service and enpoints are running with the kubectl get command.
  • I searched for specific tutorials on kubernetes on openstack but did not find anything I can use while not having admin access to openstack.
  • I used some of my own images and shelled into the container / used kubectl logs. I always found the expected logging output.
  • I used the kubectl describe output to check events, allocations etc.
  • I used describe to ensure the worker node is correctly registered.

I would be greatful for pointers to further ressources and of course any direct help. If you need further system infos I can add them.

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.