¿Que es PKS?
Según los propios fabricantes PKS es:
Pivotal Container Service (PKS) es una plataforma empresarial de Kubernetes, diseñada para obtener resultados rápidos, escalabilidad y confiabilidad en cualquier infraestructura.
sin mas preámbulos comencemos la instalación…. nos logamos a la API, para obtener la contraseña de a API nos conectamos PCF Ops Manager > Enterprise PKS > Uaa Admin Password y presionamos en Link to Credential
pks login -a api.red-orbita.com -u admin -k
Una vez logados procedemos a crear un nuevo cluster, en este caso tipo small el cual tiene 3 workers y un master.
pks create-cluster minikube --external-hostname minibuke.red-orbita.com --plan small
Para ver el estado del cluster
pks cluster minikube
PKS Version: 1.5.0-build.32
Name: minikube
K8s Version: 1.14.5
Plan Name: Small
UUID: b72caba4-422c-4663d-a4af-46bb29bf7961
Last Action: CREATE
Last Action State: succeeded
Last Action Description: Instance provisioning completed
Kubernetes Master Host: minikube.red-orbita.com
Kubernetes Master Port: 8443
Worker Nodes: 3
Kubernetes Master IP(s):
Network Profile Name:
Una vez finalizado debemos registrar en nuestro DNS el FQDN para que pueda resolver.
Tras registrarlo en nuestro DNS vamos a proceder a instalar el dashboard.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
Exponemos el dashboard al exterior para poder acceder, para ello vamos a desplegar el dashboard utilizando un loadBalancer
Vemos como se llama nuestro dashboard
kubectl get svc --namespace kubernetes-dashboard
Dado que queremos desplegarlo tipo load balancer lo eliminamos y volvemos a crearlo.
kubectl delete svc kubernetes-dashboard --namespace kubernetes-dashboard
kubectl expose deployment kubernetes-dashboard --type LoadBalancer --namespace kubernetes-dashboard
Nos conectamos al cluster de kubernetes mediante PKS para obtener el token de acceso
pks get-credentials minikube
Obtenemos el ID
kubectl config view -o jsonpath='{.contexts[?(@.name == "minikube")].context.user}'
mediante dicho ID obtenemos el token
kubectl describe secret $(kubectl get secret | grep 83d14333b-998a-4262-b3983 | awk '{print $1}') | grep "token:"
:wq!