Presentación inteligencia artificial en la actualidad
Instalar Docker Desktop y Kubernetes en Windows 10
1. 1
Instalar Docker y Kubernetes en Windows 10.
El propósito de este documento es mostrar como implementar Docker y Kubernetes en un entorno Windows,
entorno el cual puede ser utilizado como desarrollo y/o pruebas.
Entorno.
• Windows 10 Pro, compilación 19042.
• Docker Desktop 3.6.0.
• Hyper-V activo.
• WSL2 y update instalado.
Adicionalmente se requiere contar con conocimientos de Docker, Kubernetes y PowerShell.
Procedimiento.
Revisar e instalar los prerrequisitos en https://docs.docker.com/desktop/windows/install/
a- Activar Hyper-V
2. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[2]
Validar configuración con Power Shell ejecutando: Get-WindowsOptionalFeature -Online -
FeatureName Microsoft-Hyper-V
b- Docker
Descargar e instalar desde: https://hub.docker.com/editions/community/docker-ce-desktop-windows
4. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[4]
Instalación WSL 2 incompleto.
c- Habilitar e instalar WSL.
Referencia:
• https://docs.microsoft.com/es-es/windows/wsl/install-win10#manual-installation-steps
5. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[5]
Instalar WSL update.
Activar WSL2.
6. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[6]
d- Iniciar Docker Desktop.
Opcionalmente se puede revisar el tutorial integrado.
Pantalla inicial.
7. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[7]
Verificar versiones de Docker y Docker Compose.
Ejecutar un contenedor de prueba.
e- Activar el clúster de Kubernetes.
Ir a configuración de Docker Desktop (Engranaje) y hacer clic en menú Kubernetes.
8. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[8]
Habilitar Kubernetes, aplicar y reiniciar.
Clic sobre Instalar.
Instalación en curso.
Una vez que el clúster está instalado, aparece un icono de Kubernetes al lado del icono de Docker.
Servicio operativo.
9. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[9]
Mostrar información del clúster, nodos y pods del sistema.
f- Desplegar el Dashboard de K8S.
Desplegar el archivo de manifiesto desde PowerShell.
kubectl apply -f
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
Verificar objetos creados.
10. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[10]
Verificar componentes desde Docker Desktop.
Ejecutar el comando kubectl proxy.
Acceder a URL http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-
dashboard:/proxy/#/login
Crear cuenta de servicio y clúster role binding para la cuenta de servicio.
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
11. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[11]
Crear ambos objetos.
Obtener el token para la cuenta de servicio, luego copiar el valor y pegarlo en la ventana para acceder al
panel de administración.
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep
admin-user | awk '{print $1}')
En el namespace por defecto no existe ningún objeto creado por lo que el dashboard se muestra vacío.
Desplegar una aplicación de ejemplo.
12. Docker Desktop y K8S en Windows 10| Moisés Elias Araya
[12]
Cambiar de namespace y verificar la creación de los objetos.
Borrar el Dashboard
Para borrar el dashboard, ejecutar el comando: kubectl delete -f
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
PS C:Windowssystem32> kubectl delete -f
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
namespace "kubernetes-dashboard" deleted
serviceaccount "kubernetes-dashboard" deleted
service "kubernetes-dashboard" deleted
secret "kubernetes-dashboard-certs" deleted
secret "kubernetes-dashboard-csrf" deleted
secret "kubernetes-dashboard-key-holder" deleted
configmap "kubernetes-dashboard-settings" deleted
role.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
clusterrole.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
clusterrolebinding.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
deployment.apps "kubernetes-dashboard" deleted
service "dashboard-metrics-scraper" deleted
deployment.apps "dashboard-metrics-scraper" deleted