You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "elangelo (via GitHub)" <gi...@apache.org> on 2023/06/01 07:23:45 UTC

[GitHub] [solr-operator] elangelo opened a new pull request, #576: Document how a simple load balancer can be achieved through annotations on the headlessServiceOptions

elangelo opened a new pull request, #576:
URL: https://github.com/apache/solr-operator/pull/576

   (no comment)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org


[GitHub] [solr-operator] elangelo commented on a diff in pull request #576: Document how a simple load balancer can be achieved through annotations on the headlessServiceOptions

Posted by "elangelo (via GitHub)" <gi...@apache.org>.
elangelo commented on code in PR #576:
URL: https://github.com/apache/solr-operator/pull/576#discussion_r1215322738


##########
docs/solr-cloud/solr-cloud-crd.md:
##########
@@ -151,6 +151,16 @@ If both of those criteria are met, then an individual ClusterIP Service will be
 If you are using an `Ingress` for external addressability, you can customize the created `Ingress` through `SolrCloud.spec.customSolrKubeOptions.ingressOptions`.
 Under this property, you can set custom `annotations`, `labels` and an `ingressClassName`.
 
+**Note:** If you have no need for an `Ingress` or a specific hostname to address your SolrCloud cluster you can create a simple loadbalancer that can be addressed from outside the kubernetes cluster. To achieve this you can add annotations to `SolrCloud.spec.customSolrKubeOptions.headlessServiceOptions.annotations`. Snippet below shows you can create an NLB on AWS:
+
+```yaml
+headlessServiceOptions:
+  annotations: 
+    service.beta.kubernetes.io/aws-load-balancer-type: external
+    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
+    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing  

Review Comment:
   Advantage of using the headless service: less abstraction, access to the individual pods
   Disadvantage: no load balancing on the server side so client  library needs to implement load balancing themselves.
   
   So using a headless service for my previous Elasticsearch project made sense as the client library we were using actually supported 'load balancing between nodes' through round robin.
   I'm not aware of all the client libraries that we have for SolrCloud but at least in our case (just http calls through a python abstraction) it looks like indeed i should be using the common service instead.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org


[GitHub] [solr-operator] HoustonPutman commented on a diff in pull request #576: Document how a simple load balancer can be achieved through annotations on the headlessServiceOptions

Posted by "HoustonPutman (via GitHub)" <gi...@apache.org>.
HoustonPutman commented on code in PR #576:
URL: https://github.com/apache/solr-operator/pull/576#discussion_r1214424449


##########
docs/solr-cloud/solr-cloud-crd.md:
##########
@@ -151,6 +151,16 @@ If both of those criteria are met, then an individual ClusterIP Service will be
 If you are using an `Ingress` for external addressability, you can customize the created `Ingress` through `SolrCloud.spec.customSolrKubeOptions.ingressOptions`.
 Under this property, you can set custom `annotations`, `labels` and an `ingressClassName`.
 
+**Note:** If you have no need for an `Ingress` or a specific hostname to address your SolrCloud cluster you can create a simple loadbalancer that can be addressed from outside the kubernetes cluster. To achieve this you can add annotations to `SolrCloud.spec.customSolrKubeOptions.headlessServiceOptions.annotations`. Snippet below shows you can create an NLB on AWS:
+
+```yaml
+headlessServiceOptions:
+  annotations: 
+    service.beta.kubernetes.io/aws-load-balancer-type: external
+    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
+    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing  

Review Comment:
   ```suggestion
   spec:
     customSolrKubeOptions:
       headlessServiceOptions:
         annotations: 
           service.beta.kubernetes.io/aws-load-balancer-type: external
           service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
           service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing  
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org


[GitHub] [solr-operator] elangelo commented on a diff in pull request #576: Document how a simple load balancer can be achieved through annotations on the headlessServiceOptions

Posted by "elangelo (via GitHub)" <gi...@apache.org>.
elangelo commented on code in PR #576:
URL: https://github.com/apache/solr-operator/pull/576#discussion_r1215304407


##########
docs/solr-cloud/solr-cloud-crd.md:
##########
@@ -151,6 +151,16 @@ If both of those criteria are met, then an individual ClusterIP Service will be
 If you are using an `Ingress` for external addressability, you can customize the created `Ingress` through `SolrCloud.spec.customSolrKubeOptions.ingressOptions`.
 Under this property, you can set custom `annotations`, `labels` and an `ingressClassName`.
 
+**Note:** If you have no need for an `Ingress` or a specific hostname to address your SolrCloud cluster you can create a simple loadbalancer that can be addressed from outside the kubernetes cluster. To achieve this you can add annotations to `SolrCloud.spec.customSolrKubeOptions.headlessServiceOptions.annotations`. Snippet below shows you can create an NLB on AWS:
+
+```yaml
+headlessServiceOptions:
+  annotations: 
+    service.beta.kubernetes.io/aws-load-balancer-type: external
+    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
+    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing  

Review Comment:
   I must admit I blindly followed what I used to do with Elasticsearch, exposing the headless service. I'll do some reading to understand what would be advantages and disadvantages



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org


[GitHub] [solr-operator] HoustonPutman merged pull request #576: Document how a simple load balancer can be achieved through annotations on the commonServiceOptions

Posted by "HoustonPutman (via GitHub)" <gi...@apache.org>.
HoustonPutman merged PR #576:
URL: https://github.com/apache/solr-operator/pull/576


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org


[GitHub] [solr-operator] HoustonPutman commented on a diff in pull request #576: Document how a simple load balancer can be achieved through annotations on the commonServiceOptions

Posted by "HoustonPutman (via GitHub)" <gi...@apache.org>.
HoustonPutman commented on code in PR #576:
URL: https://github.com/apache/solr-operator/pull/576#discussion_r1228126750


##########
docs/solr-cloud/solr-cloud-crd.md:
##########
@@ -151,6 +151,16 @@ If both of those criteria are met, then an individual ClusterIP Service will be
 If you are using an `Ingress` for external addressability, you can customize the created `Ingress` through `SolrCloud.spec.customSolrKubeOptions.ingressOptions`.
 Under this property, you can set custom `annotations`, `labels` and an `ingressClassName`.
 
+**Note:** If you have no need for an `Ingress` or a specific hostname to address your SolrCloud cluster you can create a simple loadbalancer that can be addressed from outside the kubernetes cluster. To achieve this you can add annotations to `SolrCloud.spec.customSolrKubeOptions.headlessServiceOptions.annotations`. Snippet below shows you can create an NLB on AWS:
+
+```yaml
+headlessServiceOptions:
+  annotations: 
+    service.beta.kubernetes.io/aws-load-balancer-type: external
+    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
+    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing  

Review Comment:
   oh interesting, I didn't realize that these annotations would add an IP per pod, I thought it would be one IP for the service. If it exposes individual Solr addresses, then that is certainly a good reason to use the headless service.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org