Configuraci贸n kops / k8s en AWS

24/33

Lectura

Introducci贸n

kops es una herramienta que nos permite crear y administrar kubernetes (tambi茅n conocido como k8s) en AWS (y otros clouds). En esta lectura pondremos las instrucciones para configurarlo localmente y crear un cluster de k8s en AWS.

Instrucciones

Como root, en alguna instancia EC2 peque帽a o en su m谩quina local (estas instrucciones son para linux).

  • sudo apt update
  • sudo apt install -y awscli
  • sudo snap install kubectl --classic
  • curl -LO https://github.com/kubernetes/kops/releases/download/1.7.0/kops-linux-amd64
  • chmod +x kops-linux-amd64
  • mv ./kops-linux-amd64 /usr/local/bin/kops
  • Tienen que crear un usuario llamado kops en IAM.
  • Entren en IAM, hagan un nuevo usuario.
  • Configuren esto como acceso programatico.
  • Apunten el Access Key ID y el password.
  • As铆gnenle el rol de AdministratorAccess (un rol preconfigurado en AWS IAM).
  • Salvar.
  • Regresen de la consola de AWS a tu consola / terminal, y contin煤en con lo siguiente:
  • aws config
  • aws iam create-group --group-name kops
  • aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonEC2FullAccess --group-name kops
  • aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonRoute53FullAccess --group-name kops
  • aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess --group-name kops
  • aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/IAMFullAccess --group-name kops
  • aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess --group-name kops
  • aws iam add-user-to-group --user-name kops --group-name kops
  • aws s3api create-bucket --bucket s3kopstudominiocom --region us-west-2
  • Antes de ejecutar el pr贸ximo comando, anexen lo siguiente a su archivo ~/.bashrc (al final):
    export AWS_ACCESS_KEY_ID=tuaccesskey
    export AWS_SECRET_ACCESS_KEY=tusecret
    export KOPS_STATE_STORE=s3://s3kopstudominiocom
    export KOPS_CLUSTER_NAME=kops-cluster-tudominio
  • S谩lvenlo. Cierren sesi贸n con 鈥渆xit鈥 y vuelvan a entrar. Ahora si, ejecuta:
  • kops create cluster --name=kops-cluster-tudominio --cloud=aws --zones=us-west-2a --state=s3kopstudominiocom
  • Esta operaci贸n puede tardar 20 minutos.
  • Cuando terminen, denle:
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
  • Con eso, se instalar谩 el dashboard de k8s que vieron en el ejemplo.
  • Loguearse con user admin, y el password se obtiene con:
    kops get secrets kube --type secret -oplaintext
  • Cuando se conecten, seleccionen anunciarse por token, y el token lo obtienen ejecutando lo siguiente:
    kops get secrets admin --type secret -oplaintext
  • Con eso, ya podr谩n dar click en 鈥淐reate鈥 y poder poner su imagen del contenedor en ECR.
  • Cuando termine de hacer el deployment, encontrar谩n la url en la secci贸n en el men煤 llamada 鈥淪ervices鈥.

Nota:

Si estas instrucciones las llevan a cabo en su m谩quina local, si tecleas kubectl proxy, tendr谩n el dashboard en la direcci贸n: https://localhost:8001 - Noten que usa https siempre, y que el certificado no es confiable, por lo que tendr谩n que autorizar a su browser para poder abrirlo. La url completa para el dashboard, utilizando kubectl proxy, es:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

Conclusi贸n:

Esta actividad no es f谩cil. Kubernetes es un proyecto en construcci贸n, por lo que est谩 en constante cambio todo el tiempo, y evoluciona tan r谩pido que estas instrucciones podr铆an volverse obsoletas pronto, por lo que les pido que no desesperen, y que si hay alguna situaci贸n que no est茅 funcionando, pregunten en la secci贸n de comentarios.

Aportes 15

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

No entend铆 mucho, pero gracias por el articulo

Una explicaci贸n bastante pobre. Importante que puedan agregar algunos Screenshots en ciertos puntos porque ayudaran a verificar si uno esta realizando los pasos de manera correcta.

Que es esto por favor, 0 explicacion

Actualmente AWS ya tiene una herramienta propia para administrar k8s sobre AWS, se llama eksctl

Les dejo un video en el cual con una cuenta de AWS Educate y la herramienta kops cree un cluster de Kubernetes:
Video crear cluster con kops en AWS

Como que la lectura no tiene mucha explicaci贸n.

Muy mal esta supuesta explicaci贸n. Desiste de hacer esta practica porque la informaci贸n no esta actualizada y genera errores que impiden el avance. El curso se ha vuelto desagradable.

Se帽ores de Platzi. A ponerle voluntad y actualizar un poco la carrera de AWS, tenemos cursos de mas de dos a帽os de antig眉edad, que en tecnolog铆a es un mont贸n. incluso la consola de AWS cambio mucho.

Se puede decir que se usa k8s como un sistema de integraci贸n continua?

Que otras herramientas est谩n disponibles para administrar kubernetes?

gracias 馃槂

skip

Tambi茅n es bueno saber que para correr kubernetes en nuestro equipo personal con motivos de aprendizaje est谩n las opciones de Microk8s y minikube, entre otros.
Y pues estas versiones est谩n adecuadas para funcionar con recursos de un equipo personal que son muy limitadas en comparaci贸n a EKS. GKE o cualquier servidor On-premise.

Este articulo ya esta algo desfasado, ya que AWS nos provee de **eksctl **basado en kops