Otro comando util para obtener el token del usuario admin es
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
Introducción a Kubernetes
Todo lo que aprenderás sobre Kubernetes
Repaso de contenedores e introducción a k8s
De pods a contenedores
¿Cómo funciona la arquitectura de red de Kubernetes?
Modelos declarativos e imperativos
Visión general del modelo de red
Recomendaciones
Introducción a aplicación de prueba
Instalando nuestro primer cluster con Minikube, Kubeadm
Instalando nuestro primer cluster con Kubeadm
Desplegando el Cluster en AWS con EKS
Desplegando una aplicación de prueba con EKS
Primer contacto con un cluster de kubernetes
Usando kubectl
Creación y manejo de pods
Deployments y replica sets
Balanceo de carga y service discovery
Accediendo a nuestros PODS a través de servicios
Enrutando el tráfico utilizando servicios
Desplegando nuestra app en k8s
Escalando nuestra aplicación
Exponiendo servicios interna y externamente (kubectl-proxy)
Kubernetes dashboard
Balanceo de carga y Daemon sets
Despliegues controlados
Healthchecks
Optimizando el uso de nuestro cluster
Gestionar stacks con Helm
Gestionando la configuración aplicativas utilizando Config Maps
Volúmenes
Autorización y Namespaces
Introducción a namespaces
Despliegue múltiples instancias de la misma aplicación en un solo cluster.
Autenticación y autorización
Service account tokens
RBAC
Fin del curso
Recomendaciones para implementar Kubernetes en tu organización o proyectos
Bonus
Clase en vivo: workflows de Kubernetes usando git
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Service Account Tokens es un mecanismo de autenticación de kubernetes y vive dentro de la plataforma, nos permite dar permisos a diferentes tipos de usuarios.
kubectl get serviceaccount
kubectl get secrets
Aportes 6
Preguntas 1
Otro comando util para obtener el token del usuario admin es
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
# Ver service accounts
kubectl get serviceaccounts
kubectl get sa
# Ver service account por defecto (ver secreto asociado)
kubectl get sa default -o yaml
# Obtener token de secreto asociado
kubectl get sa default -o json | jq -r '.secrets[0].name'
# Guardar token de secreto asociado en una variable
K8S_SECRET_NAME=$(kubectl get sa default -o json | jq -r '.secrets[0].name')
# Ver secreto
kubectl get secret $K8S_SECRET_NAME -o yaml
# Decodificar token
kubectl get secret $K8S_SECRET_NAME -o json | jq -r .data.token | base64 -d
# Guardar token
K8S_TOKEN=$(kubectl get secret $K8S_SECRET_NAME -o json | jq -r .data.token | base64 -d)
# Ver servicios del namespace "default" y copiar la IP del servicio "kubernetes"
kubectl get svc -n default
# Acceder al cluster (SOLO MINIKUBE)
minikube ssh -p multinode-platzi-demo
# Acceder al servicio de kubernetes con token de autenticación
# NOTA: Si se utiliza minikube la variable $K8S_TOKEN está en otro entorno, por lo que será necesario ingresarla manualmente
curl -k https://$IP_SERVICIO_K8S -H "Authorization: Bearer $K8S_TOKEN"
En el caso de que no puedan ver el secret del default sa, pueden crear uno para hacer el ejercicio:
kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
name: build-robot-secret
annotations:
kubernetes.io/service-account.name: build-robot
type: kubernetes.io/service-account-token
EOF
Y después obtener el token:
$ kubectl describe secrets/build-robot-secret
ó
$ kubectl get secret build-robot-secret -o yaml
Decode
$ kubectl get secret build-robot-secret -o json | jq -r .data.token | base64 -d
Entrar al cluster y hacer curl:
$ minikube ssh -p multinode-demo
$curl -k https://10.96.0.1 -H "Authorization: Bearer XxXxXxX"
Entendido y aplicado
kg serviceaccounts
kg sa
kg sa default -o yam
kg sa default -o json | jq -r '.secrets[0].name'
kg secret default-token-27rtl7 -o yaml
kg secret default-token-27rtl7 -o json | jq -r '.data.token' | base64 -d
curl -k https://10.96.0.1 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InVMUmNIUnpuNEFWNXdyaERLSFQzVi0yMnIwVmdkYXprR1JRby1FSkVEYTAifQ.eyJpc3MiOiJrdWJlcm....."
super gracias 😃
Excelente mecanismo “Service Account Tokens”
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.