Hoy en google cloud español, en esta guía rápida ayuda con algunos aspectos prácticos sobre cómo ejecutar el HELM en el clúster Google Kubernetes Engine (GKE).
Para poder entender y aprovechar esta entrada tienes que tener conocimientos previos sobre:
Las herramientas HELM , Kubernetes y GKE.
Tener una instalación local de kubectl y HELM también un clúster GKE con al menos 3 nodos.
Y ademas esto esta probad en estas versiones: cliente kubectl 1.9.3, cliente helm 2.8.2 GKE v1.9.6-gke.1
Crear cuenta de servicio para HELM
Primero crea una cuenta de servicio para HELM y adjunta una función de administrador de clúster. Hay razones por las que deberías hacer esto. Esto se puede hacer con kubectl apply -f <file>
# This is an extract from here: http://jayunit100.blogspot.fi/2017/07/helm-on.htmlapiVersion: v1kind: ServiceAccountmetadata: name: helm namespace: kube-system---apiVersion: rbac.authorization.k8s.io/v1beta1kind: ClusterRoleBindingmetadata: name: helmroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-adminsubjects: - kind: ServiceAccount name: helm namespace: kube-system
Crea estes fichero con nombre crear-account-helm.yaml y crear cuenta de servicio para HELM y clusterrolebinding.
$ kubectl apply -f crear-account-helm.yaml
Elevar privilegios para crear ClusterRoleBindings
Omita esta sección si el comando anterior no prensento errores. A veces, terminará con errores prohibidos en GKE. Una forma más simple de resolver esto es ejecutando ClusterRoleBinding como usuario privilegiado esto se hace: Obtenga su contraseña de administrador con gcloud describe
$ gcloud container clusters describe my_k8s --zone europe-west2-a --proyect kubernetes-helm | grep -i password
Use esas credenciales y cree la cuenta de servicio y el enlace de rol de clúster de la sección anterior. Una forma sería modificar su $HOME/ .kube/config para agregar una nueva entrada de usuario y proporcionarla a su contexto y luego volver atrás después de inicializar HELM.
- context: cluster: gke_kubernetes-helm_europe-west2-a_my_k82 namespace: jx user: cluster-admin name: gke_kubernetes-helm_europe-west2-a_my_k82users:- name: cluster-admin user: password: <la password que hemos localizado> username: admin
Inicializamos HELM
Ahora ejecute $ helm init pasando la cuenta de servicio.
$ helm init --service-account helm
-----<Salida de comando>
$helm version
-----<Tienes que ver la vesiones del Cliente y del Server de helm>
Verificar HELM
Para empezar, debe haber al menos una implementación y un servicio con el nombre:
tiller-deploy in kube-system namespace.
tiller-deploy in kube-system namespace.
$ kubectl get deploy,svc tiller-deploy -n kube-system
Crea un samplechart e instálalo con el nombre helm-test. Esto va a instalar un simple pod nginx. Establezca el tipo de servicio como LoadBalancer.
$ helm create samplechartPuedes ver la ip externa asignada después de no menos de 5 minutos con:
$ helm get svcY podrás aceder a esa web pero lo mas rapido es un: curl <ip.ip.ip.ip>
Con todo esto obtendrás en marcha y funcionado HELM, el error mas común es encontrarse con un "Authorization error" un Error sobre clusterrrolebindings.rback.authorization.k8s.io donde el usuario no pude crear el clusterrolebindngs, el problema es que el usuario carece de permisos pero para eso tienes en este blog la sección "Elevar privilegios para ClusterRoleBindings", no copies y peges lee las instrucciones. ;-)
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.