The endpoints in kubernetes are the mechanism that directly interact and implement the Kubernetes Service
The Endpoints are underlying mechanism which are created in the background and enable us to talk to the kubernetes Services.
As we know that by creating a Kubernetes service we automatically generate the FQDN with the help of core-dns services
There was a requirement for me to setup the specific endpoint and create a service to convert a outside IP into the kubernetes FQDN [svc-name.namespace.cluster.local]
I managed to work around it by creating an endpoint of my external IP which was running mySQL.
[root@master01 ~]# cat Mysql-ep.yaml
---
kind: Endpoints
apiVersion: v1
metadata:
name: mysql-svc
namespace: actnow
subsets:
- addresses:
- ip: 172.22.110.130
ports:
- port: 3306
Lets take a look at Kubernetes Service yaml file.
[root@master01 ~]# cat Mysql-svc.yaml
---
kind: Service
apiVersion: v1
metadata:
name: mysql-svc
spec:
ports:
- protocol: TCP
port: 3306
targetPort: 3306
The mysql’s ULR now is accessible with the FQDN mysql-svc.dev.cluster.local. It was used in my application code for my cluster which the mysql resource was outside the kubernetes cluster.
Please try this out and let me know if you like this hack and you had any similar experiences to share with.