-
Notifications
You must be signed in to change notification settings - Fork 10
Support for Platform Type None where no External Load Balancers exist #269
Comments
Hello @prb112 . Can you please elaborate on this? What is your proposal? An specific entry in the CRD for this? |
Hey @sarroutbi I've been thinking about this. We could use metallb in the cluster with Tang Operator. In this case, your thought of a specific entry in the CRD seems reasonable. something akin to Thanks, Paul https://github.com/latchset/tang-operator/blob/main/api/v1alpha1/tangserver_types.go#L24 |
Hello @prb112. I have started to work on this, but I don't see a ServiceType that corresonds to "None". Possible service types to configure are:
I don't see a "None" option to the ServiceType ... are you referring to the ClusterIP? According to the API:
If I understand correctly, if you want to set None Cluster IP, you can set cluster IP to "None" and ServiceType to "ClusterIP" ... what do you think about being able to set the ClusterIP and the ServiceType manually in the CRD, so that it is configured externally and all the options are available? |
I have tested the patch provided in #273 If you apply the CRD in operator_configs/none-cluster-ip/: $ cat operator_configs/none-cluster-ip/daemons_v1alpha1_tangserver.yaml
---
apiVersion: daemons.redhat.com/v1alpha1
kind: TangServer
metadata:
name: tangserver-none-cluster-ip
namespace: nbde
finalizers:
- finalizer.daemons.tangserver.redhat.com
spec:
replicas: 1
image: "quay.io/sec-eng-special/fedora_tang_server"
version: "latest"
clusterIP: "None"
serviceType: "ClusterIP" you will get a None Cluster IP: $ oc get services -n nbde
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service-tangserver-none-cluster-ip ClusterIP None <none> 7500/TCP 3m41s I guess this should be enough for what you are trying to get |
Hi Sergio, yes, that should be fine. Thank you kindly, Paul |
Resolves: #269 Signed-off-by: Sergio Arroutbi <[email protected]>
Background
Installations with a Platform Type = None on OpenShift don't always have access to the External Load Balancer to create a Service with type LoadBalancer and generate an External IP. This keeps the TangServer CR from being populated with a URL.
A workaround of
oc patch svc service-tangserver-mini --type=merge --patch '{"spec": { "type": "ClusterIP" } }' -n nbde
allows the service to have external access.
The Reconcile Loop https://github.com/latchset/tang-operator/blob/main/controllers/tangserver_controller.go#L459 and getService https://github.com/latchset/tang-operator/blob/main/controllers/tangserver_controller_service.go#L52 hard-code LoadBalancer.
We'd like to see support for Platform Type None.
We'd also be willing to contribute.
Many thanks, Paul
The text was updated successfully, but these errors were encountered: