Jump to content
Welcome to our new Citrix community!

How to have CIC on GKE choose INTERNAL-IP from node?


Recommended Posts



I've deployed CIC on GKE and would like to catch  kind: service type: loadBlancer as we created this kind of service on GKE and both have this service be configued on our on-prem Citrix ADC.

But CIC always configured/chooses the external ip of all of my worker nodes on GKE as server in serviceGroup.


We have interconnection between our on-prem datacenter and GCP, so that it doesn't matter we use the internal IP of worker node as the server in serviceGroup.


Is there any way that  I can have CIC choose internal ip/external ip for servers in serviceGroup?  




$ kubectl get node -o wide

NAME                                                  STATUS   ROLES    AGE    VERSION             INTERNAL-IP    EXTERNAL-IP     OS-IMAGE             KERNEL-VERSION   CONTAINER-RUNTIME

gke-dc-cs-citrix-cluste-pool-highload-20c26d80-8xwr   Ready    <none>   130m   v1.18.12-gke.1200   Ubuntu 18.04.5 LTS   5.4.0-1029-gke   containerd://1.4.1

gke-dc-cs-citrix-cluste-pool-highload-20c26d80-jmj8   Ready    <none>   130m   v1.18.12-gke.1200   Ubuntu 18.04.5 LTS   5.4.0-1029-gke   containerd://1.4.1



Link to comment
Share on other sites

  • 2 weeks later...

Hi Raphael, I believe the use of 'type: loadbalancer' in GCP (or any cloud) will result in the cloud provider assigning in external IP - that is basically the original definition/purpose of this type of service object in a cloud-provider cluster. If you were using type: loadbalancer in an on-prem deployment of K8s you could have more choice of picking IP addresses because that functionality in an on-prem cluster is controlled by the Citrix CRD that provides this functionality which normally does not exist in an on-prem K8s cluster. But with a cloud provider, the type: loadbalancer option is controlled by the cloud provider and AFAIK automatically chooses the external IP by design. I don't think there is a way to change this behavior. I suppose GCP might offer some fine grained controls over this behavior, but I'm not sure if that could be limited to just some services and might cause more trouble than it's worth. If it's possible that seems like it would be something you might need to investigate with GCP support. It might not be supported by GCP based on the original purpose of this type of service object described above. In general, the use of the type: loadbalancer in a cloud-cluster is used to leverage an external IP.


For a possibly easier solution you may want to try using a type: NodePort instead and then using your internal IPs. This would allow you more control over the service object than using the type:loadbalancer in a cloud-based cluster. Hope this helps. Please do provide a follow-up once you solve this issue. Thank Haresh

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...