Implementar NetScaler CPX como dispositivo de entrada en Google Cloud Platform
En este tema se explica cómo implementar NetScaler CPX como dispositivo de entrada en Google Kubernetes Engine (GKE)
Requisitos previos
Debe completar las siguientes tareas antes de realizar los pasos del procedimiento.
-
Asegúrese de tener un clúster de Kubernetes en funcionamiento.
-
Si ejecuta su clúster en GKE, asegúrese de haber configurado un enlace de rol de administrador de clúster.
Puede usar el siguiente comando para configurar el enlace de roles cluster-admin.
kubectl create clusterrolebinding citrix-cluster-admin --clusterrole=cluster-admin --user=<email-id of your google account>
Puede obtener los detalles de su cuenta de Google con el siguiente comando.
gcloud info | grep Account
Implementar NetScaler CPX como dispositivo de entrada en Google Cloud Platform
-
Implemente la aplicación requerida en su clúster de Kubernetes y expóngala como un servicio en su clúster con el siguiente comando.
kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/apache.yaml
Nota:
En este ejemplo,
apache.yaml
se usa. Debe usar el archivo YAML específico para su aplicación. -
Implemente NetScaler CPX como dispositivo de entrada en el clúster mediante el siguiente comando.
kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/standalone_cpx.yaml
-
Cree el recurso de entrada con el siguiente comando.
kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/cpx_ingress.yaml
-
Cree un servicio de tipo LoadBalancer para acceder a NetScaler CPX mediante el siguiente comando.
kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/cpx_service.yaml
Nota:
Este comando crea un equilibrador de carga con una IP externa para recibir tráfico.
-
Compruebe el servicio y compruebe si el equilibrador de carga ha creado una IP externa. Espere un momento si no se crea la IP externa.
kubectl get svc |NAME | TYPE | CLUSTER-IP | EXTERNAL-IP | PORT(S) | AGE | | --- | ---| ----| ----| ----| ----| |apache | ClusterIP |10.7.248.216 |none | 80/TCP | 2m | |cpx-ingress |LoadBalancer | 10.7.241.6 | pending | 80:32258/TCP,443:32084/TCP | 2m| |kubernetes |ClusterIP |10.7.240.1 |none | 443/TCP | 22h|
-
Una vez que la IP externa del equilibrador de carga esté disponible de la siguiente manera, puede acceder a sus recursos mediante la IP externa del equilibrador de carga.
kubectl get svc |Name | Type | Cluster-IP | External IP| Port(s) | Age | |-----| -----| -------| -----| -----| ----| |apache| ClusterIP|10.7.248.216|none|80/TCP |3m| |cpx-ingress|LoadBalancer|10.7.241.6|EXTERNAL-IP CREATED|80:32258/TCP,443:32084/TCP|3m| |kubernetes| ClusterIP| 10.7.240.1|none|443/TCP|22h|`
Nota: La verificación de estado del equilibrador de carga en la nube se obtiene de readinessProbe configurado en el archivo YAML del servicio NetScaler CPX. Si se produce un error en la comprobación de estado, debe comprobar la sonda readinessProbe configurada para NetScaler CPX. Para obtener más información, consulte ReadinessProbe y un balanceador de carga externo.
-
Acceda a la aplicación mediante el siguiente comando.
curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'
Distribución rápida
Para facilitar la implementación, puede implementar un único manifiesto todo en uno que combine los pasos explicados en el tema anterior.
-
kubectl create -f <https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/all-in-one.yaml>
-
Acceda a la aplicación mediante el siguiente comando.
curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'
Nota:
Para eliminar la implementación, use el
kubectl delete -f all-in-one.yaml
comando.