-
-
-
Deploy NetScaler ingress controller with OpenShift router sharding support
-
Deploy NetScaler CPX as an Ingress in Azure Kubernetes Engine
-
Deploy NetScaler ingress controller in an Azure Kubernetes Service cluster with NetScaler VPX
-
Deploy NetScaler ingress controller for NetScaler with admin partitions
-
Multi-cloud and GSLB solution with Amazon EKS and Microsoft AKS clusters
-
-
SSL certificate for services of type LoadBalancer through the Kubernetes secret resource
-
BGP advertisement for type LoadBalancer services and Ingresses using NetScaler CPX
-
NetScaler CPX integration with MetalLB in layer 2 mode for on-premises Kubernetes clusters
-
Advanced content routing for Kubernetes Ingress using the HTTPRoute CRD
-
IP address management using the NetScaler IPAM controller for Ingress resources
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Expose Service of type NodePort using Ingress
In a single-tier deployment, the Ingress NetScaler (VPX or MPX) outside the Kubernetes cluster receives all the Ingress traffic to the microservices deployed in the Kubernetes cluster. For the Ingress traffic to reach the microservices, you need to establish network connectivity between the Ingress NetScaler instance and pods.
As pods run on overlay network, the pod IP addresses are private IP addresses and the Ingress NetScaler instance cannot reach the microservices running within the pods. To make the service accessible from outside of the cluster, you can create the service of type NodePort. The NetScaler instance load balances the Ingress traffic to the nodes that contain the pods.
To create the service of type NodePort, in your service definition file, specify spec.type:NodePort
and optionally specify a port in the range 30000–32767.
Sample deployment
Consider a scenario wherein you are using a NodePort based service, for example, an apache
app and want to expose the app to North-South traffic using an Ingress. In this case, you need to create the apache
app deployment, define the service of type NodePort
, and create an Ingress definition to configure Ingress NetScaler to send the North-South traffic to the nodeport of the apache
app.
In this example, you create a deployment named apache
, and deploy it in your Kubernetes cluster.
-
Create a manifest for the deployment named
apache-deployment.yaml
.# If using this on GKE # Make sure you have cluster-admin role for your account # kubectl create clusterrolebinding citrix-cluster-admin --clusterrole=cluster-admin --user=<username of your google account> # #For illustration a basic apache web server is used as a application apiVersion: apps/v1 kind: Deployment metadata: name: apache labels: name: apache spec: selector: matchLabels: app: apache replicas: 4 template: metadata: labels: app: apache spec: containers: - name: apache image: httpd:latest ports: - name: http containerPort: 80 imagePullPolicy: IfNotPresent <!--NeedCopy-->
Containers in this deployment listen on port 80.
-
Create the deployment using the following command:
kubectl create -f apache-deployment.yaml
-
Verify that four pods are running using the following:
kubectl get pods
-
Once you verify that pods are up and running, create a service of type
NodePort
. The following is a manifest for the service:#Expose the apache web server as a Service apiVersion: v1 kind: Service metadata: name: apache labels: name: apache spec: type: NodePort ports: - name: http port: 80 targetPort: http selector: app: apache <!--NeedCopy-->
-
Copy the manifest to a file named
apache-service.yaml
and create the service using the following command:kubectl create -f apache-service.yaml
The sample deploys and exposes the Apache web server as a service. You can access the service using the
<NodeIP>:<NodePort>
address. -
After you have deployed the service, create an Ingress resource to configure the Ingress NetScaler to send the North-South traffic to the nodeport of the
apache
app. The following is a manifest for the Ingress definition named asvpx-ingress.yaml
.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: ingress.citrix.com/frontend-ip: xx.xxx.xxx.xx name: vpx-ingress spec: defaultBackend: service: name: apache port: number: 80 <!--NeedCopy-->
-
Deploy the Ingress object.
kubectl create -f vpx-ingress.yaml
Share
Share
In this article
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.