Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions _data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -448,24 +448,24 @@ docs:
sub:
- page: Operations
url: /en/operations/kubernetes/operations/operations.html
- page: Upgrades
- page: Upgrade Vespa on Kubernetes
url: /en/operations/kubernetes/operations/upgrades.html
- page: Delete a VespaSet
url: /en/operations/kubernetes/operations/delete-vespaset.html
- page: Monitor a Vespa on Kubernetes Deployment
url: /en/operations/kubernetes/operations/monitoring.html
- title: Configuration
sub:
- page: Configure Local Storage Type
url: /en/operations/kubernetes/configuration/configure-local-storage-type.html
- page: Enable TLS Encryption
url: /en/operations/kubernetes/tls.html
- page: Monitor a Vespa on Kubernetes Deployment
url: /en/operations/kubernetes/monitoring.html
- page: Configure Log Collections
url: /en/operations/kubernetes/logging.html
- page: Configure External Access Layer
url: /en/operations/kubernetes/ingress.html
- page: Provide Custom Overrides
url: /en/operations/kubernetes/custom-overrides-podtemplate.html
- page: Configure Log Collections
url: /en/operations/kubernetes/configuration/logging.html
- page: Configure External Access Layer
url: /en/operations/kubernetes/configuration/ingress.html
- page: Provide Custom Overrides
url: /en/operations/kubernetes/configuration/custom-overrides-podtemplate.html
- page: Enable TLS Encryption
url: /en/operations/kubernetes/configuration/tls.html

- title: Security
documents:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ <h2>
which may be preferable in environments where disk availability changes frequently.

However, some provisioners may require manual configuration of <code>NodeAffinity</code> rules to ensure pods are scheduled on nodes where the storage physically resides.
In these cases, refer to the <a href="../custom-overrides-podtemplate.html">PodTemplates</a> section on configuring custom <code>NodeAffinity</code> rules for ConfigServer and Application Pods.
In these cases, refer to the <a href="custom-overrides-podtemplate.html">PodTemplates</a> section on configuring custom <code>NodeAffinity</code> rules for ConfigServer and Application Pods.
</p>


Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,6 @@ <h2>Supported Endpoint Types</h2>
<td><code>LoadBalancer</code></td>
<td>Provision the cloud-native (AWS, GCP, Azure) load-balancer.</td>
</tr>
<tr>
<td><code>NODE_PORT</code></td>
<td><code>NodePort</code></td>
<td>Expose a static port across every worker node, allowing external traffic to access the cluster from any node's IP.</td>
</tr>
<tr>
<td><code>CLUSTER_IP</code></td>
<td><code>ClusterIP</code></td>
Expand Down Expand Up @@ -74,88 +69,6 @@ <h2>LOAD_BALANCER</h2>
This provisions an <strong>internal</strong> Network Load Balancer (NLB) accessible only within the VPC where the EKS cluster nodes reside.
</p>

<h2>NODE_PORT</h2>

<p>
The <code>NODE_PORT</code> type exposes the Vespa container cluster on a specific port (range 30000-32767) across all Kubernetes worker nodes.
</p>

<p>
<strong>Configuration:</strong>
</p>
<pre>
ingress:
endpointType: NODE_PORT
</pre>

<p>
When this option is set, Kubernetes opens a static port on every worker node. External traffic can reach the application via <code>&lt;NodeIP&gt;:&lt;NodePort&gt;</code>.
Note that unlike <code>LOAD_BALANCER</code>, this does not provide health checks at the entry point level. If a worker node with a connection crashes, the connection will simply
time out or fail. This additionally requires all worker nodes to expose an External IP.
</p>

<p>
To use the <code>NODE_PORT</code> service, find the assigned port.
</p>

<pre>
$ kubectl get service lb-default -n $NAMESPACE

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
lb-default NodePort 10.100.150.25 &lt;none&gt; <b>80:31942/TCP</b> 5m
</pre>

<p>
Get the list of nodes and look for their External IP addresses.
</p>

<pre>
$ kubectl get nodes -o wide

NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION
ip-192-168-3-50.us-east-2.compute.internal Ready &lt;none&gt; 10d v1.27.3-eks-a5565ad 192.168.3.50 <b>18.221.100.45</b> Amazon Linux 2 5.10.184-175.731.amzn2.x86_64
ip-192-168-3-51.us-east-2.compute.internal Ready &lt;none&gt; 10d v1.27.3-eks-a5565ad 192.168.3.51 <b>3.142.200.10</b> Amazon Linux 2 5.10.184-175.731.amzn2.x86_64
</pre>

<p>
Choose any External IP and combine the IP and port to access the service.
</p>

<pre>
$ curl http://18.221.100.45:31942/state/v1/health

{
"time" : 1769981985754,
"status" : {
"code" : "up"
},
"metrics" : {
"snapshot" : {
"from" : 1.769981924895E9,
"to" : 1.769981984895E9
},
"values" : [ {
"name" : "requestsPerSecond",
"values" : {
"count" : 19,
"rate" : 0.31666666666666665
}
}, {
"name" : "latencySeconds",
"values" : {
"average" : 0.009578947368421053,
"sum" : 0.182,
"count" : 19,
"last" : 0.003,
"max" : 0.057,
"min" : 0.0,
"rate" : 0.31666666666666665
}
} ]
}
}
</pre>

<h2>CLUSTER_IP</h2>

<p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<h2>Prerequisites</h2>

<ul>
<li>Kubernetes cluster with Vespa Operator installed (see <a href="deployment/installation.html">Installation</a>)</li>
<li>Kubernetes cluster with Vespa Operator installed (see <a href="../deployment/installation.html">Installation</a>)</li>
<li><a href="https://cert-manager.io/docs/installation/">cert-manager</a> v1.13 or later</li>
<li><a href="https://cert-manager.io/docs/usage/csi-driver/">cert-manager CSI driver</a> installed</li>
<li>Kubernetes Command Line Tool (<a href="https://kubernetes.io/docs/reference/kubectl/">kubectl</a>)</li>
Expand Down Expand Up @@ -130,7 +130,7 @@ <h3>Step 4: Configure VespaSet with mTLS</h3>

<p>
Update the VespaSet specification to mount the TLS configuration and use the cert-manager CSI driver for certificate injection via a
<code>PodTempalte</code>. For more information on the <code>PodTemplate</code> specification, refer to the <a href="custom-overrides-podtemplate">Custom Overrides</a> section.
<code>PodTempalte</code>. For more information on the <code>PodTemplate</code> specification, refer to the <a href="custom-overrides-podtemplate.html">Custom Overrides</a> section.
</p>

<p>
Expand Down
4 changes: 2 additions & 2 deletions en/operations/kubernetes/deployment/installation.html
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ <h2>Deploy a Vespa Application</h2>
<p>
The <code>Node</code> resources must be specified for any application package is deployed on Vespa on Kubernetes.
These will directly translate to Kubernetes container <a href="https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/">resource requests and limits</a>.
In a default deployment without any <a href="../custom-overrides-podtemplate.html">PodTemplate</a> overrides, the requests will equal the limits for a container.
In a default deployment without any <a href="../configuration/custom-overrides-podtemplate.html">PodTemplate</a> overrides, the requests will equal the limits for a container.
</p>

<p>
Expand Down Expand Up @@ -294,7 +294,7 @@ <h2>Deploy a Vespa Application</h2>

<p>
Port-forwarding provides a simple way to ingress to the ConfigServer locally.
For other ingress options, refer to the <a href="../ingress.html">Configuring the External Access Layer</a> page.
For other ingress options, refer to the <a href="../configuration/ingress.html">Configuring the External Access Layer</a> page.
</p>

<h2>Feed and Query Documents</h2>
Expand Down
4 changes: 2 additions & 2 deletions en/operations/kubernetes/operations/upgrades.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
# Copyright Vespa.ai. All rights reserved.
title: Upgrades
title: Upgrade Vespa on Kubernetes
applies_to: enterprise
---

Expand Down Expand Up @@ -134,7 +134,7 @@ <h2>Upgrade Sequence</h2>
<p>
To ensure zero downtime for any applications, ingress should be properly configured so that traffic is
correctly load balanced across the Dataplane layer, allowing requests to be seamlessly routed away from
Pods undergoing upgrades. Refer to the <a href="../ingress.html">Ingress</a> page for more details.
Pods undergoing upgrades. Refer to the <a href="../configuration/ingress.html">Ingress</a> page for more details.
</p>

<h2>Monitoring the Upgrade</h2>
Expand Down
10 changes: 5 additions & 5 deletions en/operations/kubernetes/vespa-on-kubernetes.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ <h2 id="overview">Overview</h2>
<ul>
<li><a href="deployment/installation.html">Install Vespa on Kubernetes</a></li>
<li><a href="operations/operations.html">Lifecycle Operations for Vespa on Kubernetes</a></li>
<li><a href="tls.html">Enable TLS Encryption for Vespa on Kubernetes</a></li>
<li><a href="monitoring.html">Monitor a Vespa on Kubernetes Deployment</a></li>
<li><a href="logging.html">Configure Log Collection</a></li>
<li><a href="ingress.html">Configure External Access Layer for Vespa on Kubernetes</a></li>
<li><a href="custom-overrides-podtemplate.html">Provide Custom Overrides</a></li>
<li><a href="configuration/tls.html">Enable TLS Encryption for Vespa on Kubernetes</a></li>
<li><a href="operations/monitoring.html">Monitor a Vespa on Kubernetes Deployment</a></li>
<li><a href="configuration/logging.html">Configure Log Collection</a></li>
<li><a href="configuration/ingress.html">Configure External Access Layer for Vespa on Kubernetes</a></li>
<li><a href="configuration/custom-overrides-podtemplate.html">Provide Custom Overrides</a></li>
</ul>
5 changes: 5 additions & 0 deletions redirects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -353,3 +353,8 @@
/en/working-with-chunks.html: /en/rag/working-with-chunks.html
/en/writing.html: /en/basics/writing.html
/en/xgboost: /en/ranking/xgboost.md
/en/operations/kubernetes/logging.html: /en/operations/kubernetes/configuration/logging.html
/en/operations/kubernetes/ingress.html: /en/operations/kubernetes/configuration/ingress.html
/en/operations/kubernetes/custom-overrides-podtemplate.html: /en/operations/kubernetes/configuration/custom-overrides-podtemplate.html
/en/operations/kubernetes/tls.html: /en/operations/kubernetes/configuration/tls.html
/en/operations/kubernetes/monitoring.html: /en/operations/kubernetes/operations/monitoring.html