Oxcart Descargar
Menú

Kubernetes en Mac en 2026: kubectl, k9s y clústeres locales

La mayor parte del trabajo con Kubernetes en un Mac con chip de Apple ocurre en tres lugares: kubectl y k9s en el Mac se comunican con un clúster compartido o en la nube, se compilan imágenes para ese clúster y las dependencias de la app se ejecutan en local. Oxcart mantiene rápido ese ciclo de desarrollo: compila imágenes, ejecuta tu app y sus dependencias y prueba manifiestos con un servidor de API kwok local antes de aplicarlos a tu clúster.

Actualizado

El flujo de trabajo que encaja en Mac

Un clúster Kubernetes en un portátil es una copia de algo que en realidad se ejecuta en otro lugar. Para gran parte del trabajo de plataforma y aplicaciones no necesitas esa copia: necesitas resultados rápidos sobre el propio contenedor, los servicios con los que se comunica y una terminal abierta en el clúster real. En un Mac con chip de Apple, esto se divide en cuatro tareas.

Tareas de Kubernetes en Mac y dónde se ejecutan
TareaHerramientaEn Oxcart
Inspeccionar y administrar clústereskubectl, k9sHerramientas nativas de Mac; conexión a cualquier contexto de kubeconfig
Compilar imágenes para el clústerdocker buildx buildCompilar juntas imágenes amd64 y arm64
Ejecutar la app y sus dependenciasdocker composeLevantar tus servicios con comprobaciones de salud, up --wait y puertos publicados
Probar manifiestos contra un servidor de APIkwokComprobar manifiestos contra un plano de control real con nodos y pods simulados

kubectl y k9s con tus clústeres

kubectl y k9s leen el mismo kubeconfig, así que todo lo que puedas alcanzar con uno puedes explorarlo con el otro. Las CLI de la nube escriben los contextos por ti: aws eks update-kubeconfig, az aks get-credentials y gcloud container clusters get-credentials añaden un contexto cada uno.

kubectl config get-contexts          # every cluster in your kubeconfig
kubectl config use-context my-eks    # switch the current context
kubectl get pods -A                  # works against the current context
k9s                                  # the same context, in a terminal UI
k9s --context my-aks --readonly      # another context, read-only

Instala k9s con Homebrew o MacPorts, como indica su página de instalación. Mantén archivos kubeconfig separados por entorno y elige uno con KUBECONFIG=~/.kube/staging k9s cuando quieras dejar producción fuera de alcance.

Compilar imágenes para el clúster

La mayoría de los clústeres usa nodos amd64, y tu Mac es arm64. Buildx en Oxcart compila ambas arquitecturas desde un Dockerfile con el constructor predeterminado:

docker buildx ls                     # default builder: linux/amd64, linux/arm64
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:dev .
docker run --rm --platform linux/amd64 myapp:dev   # runs through Rosetta
docker run --rm --platform linux/arm64 myapp:dev   # runs natively

Pasa --platform linux/amd64 cuando ejecutes una imagen solo para amd64 que hayas compilado en local. Para desplegar, envía una etiqueta por plataforma o deja que la CI publique un manifiesto multi-arquitectura que seleccione la imagen adecuada para cada nodo:

docker buildx build --platform linux/amd64 --load -t registry.example.com/myapp:1.4.0-amd64 .
docker push registry.example.com/myapp:1.4.0-amd64

Las compilaciones son rápidas: Oxcart registró 341 ms para una compilación sin caché de un contexto local pequeño y 121 ms con caché, los mejores resultados de los tres entornos que probamos. docker login guarda las contraseñas de los registros en el Llavero de macOS.

Ejecutar las dependencias de la app con Compose

Mientras el servicio que estás modificando se comunica con un clúster remoto, su base de datos, caché y cola pueden ejecutarse en tu Mac. Un compose.yaml con comprobaciones de salud y depends_on: condition: service_healthy se levanta con docker compose up -d --wait, que solo termina cuando todos los servicios están saludables. Consulta Docker Compose en equipos con chip de Apple para ver un ejemplo completo. Los contenedores arrancan lo bastante rápido como para eliminarlos entre pruebas: 42 ms para docker run --rm y 77 ms para detener y eliminar 20 contenedores.

Una API real de Kubernetes en tu Mac con kwok

kwok (Kubernetes WithOut Kubelet) inicia los componentes reales del plano de control como contenedores y simula nodos y pods. En Oxcart, kwokctl levantó etcd, kube-apiserver, kube-scheduler y kube-controller-manager (v1.36.1) en unos 15 segundos, incluidas las descargas de imágenes, y kubectl y k9s en el Mac se conectaron a él.

kwokctl create cluster --name dev --runtime docker
kwokctl scale node --replicas 2 --name dev
kubectl apply -f deploy.yaml
kubectl rollout status deploy/web     # "successfully rolled out"
kubectl get pods -o wide              # 3/3 Running on simulated nodes
k9s                                   # browse it like any cluster
kwokctl delete cluster --name dev

Úsalo para comprobar que los manifiestos se aplican, que las reglas RBAC permiten lo que esperas, que un controlador u operador se comunica correctamente con la API y para aprender k9s sin tocar un clúster compartido. Ningún contenedor de tu Deployment se ejecuta realmente: los pods son registros del servidor de API, marcados como Running por kwok.

Elige dónde reside tu clúster

Mantén tu ciclo de desarrollo rápido en el Mac y usa el clúster que encaje con tu equipo. Un clúster de desarrollo compartido ofrece a todos los mismos controladores, políticas e integraciones con la nube. Un clúster local es útil cuando necesitas pods reales sin estar conectado a ese entorno.

Oxcart admite contenedores privilegiados para cargas de trabajo que necesitan permisos elevados dentro de Linux. Un clúster Kubernetes completo también depende de la red y la configuración de ejecución de la herramienta de clúster. Para un clúster incluido en una app de escritorio, consulta la comparativa de apps de contenedores para Mac; para el desarrollo diario de apps, los flujos con Compose, Buildx y kwok descritos arriba mantienen la iteración en local.

Clústeres en la nube desde tu Mac

Preguntas

¿Cómo encaja Oxcart en un flujo de trabajo con Kubernetes?

Usa Oxcart para compilar tus imágenes, ejecutar la app y sus dependencias en local y probar manifiestos con un servidor de API kwok local. Los contenedores privilegiados forman parte de la plataforma. Usa kubectl y k9s en tu Mac para tu clúster compartido o en la nube; Oxcart no incluye un clúster Kubernetes.

¿Hay alguna API local de Kubernetes que pueda usar con Oxcart?

Sí. kwok ejecuta un plano de control real de Kubernetes (etcd, kube-apiserver, kube-scheduler y kube-controller-manager, v1.36 en nuestra prueba) como contenedores de Oxcart, y kubectl y k9s en tu Mac se conectan a él. Sus nodos y pods son simulados, por lo que sirve para probar manifiestos, RBAC y el comportamiento de la API, no para ejecutar los contenedores de tu app.

¿kubectl y k9s funcionan en un Mac con chip de Apple?

Sí. Ambos son herramientas de línea de comandos nativas de macOS. Usan tu kubeconfig, así que funcionan con cualquier clúster al que apunte: EKS, AKS, GKE, un clúster del trabajo o un servidor de API local. k9s documenta la instalación con Homebrew y MacPorts.

¿Cómo compilo imágenes para un clúster Kubernetes amd64 en un Mac con chip de Apple?

Usa Buildx con --platform linux/amd64 o --platform linux/amd64,linux/arm64 para ambas arquitecturas. En Oxcart, la compilación multiplataforma termina con el constructor predeterminado y ambas arquitecturas se ejecutan en local. No se admite enviar una imagen multiplataforma desde Oxcart, así que envía una etiqueta por plataforma o deja que la CI publique el manifiesto multi-arquitectura.

¿Dónde puedo ejecutar un clúster Kubernetes local completo en Mac?

Varias apps de contenedores para Mac incluyen un clúster de un solo nodo. Se comparan, con fuentes, en la página de comparativas. Muchos equipos desarrollan con un clúster compartido o en la nube y solo ejecutan en local las dependencias de la app, que es el flujo de trabajo que cubre esta guía.

¿k9s necesita un servidor de métricas?

k9s se conecta sin él; registra una advertencia y deja vacías las columnas de CPU y memoria cuando el clúster no tiene API de métricas. En nuestra prueba con kwok indicó «Kubernetes connectivity OK» junto a esa advertencia.

Fuentes y método

  • Ejemplo de API local: Oxcart 0.1.2, Mac17,14, macOS 27.2, 2026-10-10; kwokctl v0.8.0, k9s v0.51.0 y kubectl v1.33.9.
  • kwok: https://kwok.sigs.k8s.io/; k9s: https://k9scli.io/ y https://k9scli.io/topics/install/; kind: https://kind.sigs.k8s.io/docs/user/known-issues/; k3d: https://k3d.io/stable/; controladores de minikube: https://minikube.sigs.k8s.io/docs/drivers/. Comprobado el 2026-10-10.
  • Velocidad de compilaciones y contenedores: Oxcart 0.1.2, 2026-10-10, Apple M5 Max, 8 CPU y 12 GiB, medianas de cinco muestras; los otros entornos se midieron antes ese mismo día en el mismo Mac, con el mismo sistema de medición y el cliente docker 29.4.

Prueba Oxcart con tus propios proyectos

Gratis durante 60 días. Después, $20 por persona y por versión principal, sin suscripción.

Apple silicon · macOS 26 o posterior

Sigue leyendo

Notas de la versión

Oxcart 0.1.4

Última versión

Licencias y mejoras.

  • Activación de licencias mediante un enlace seguro enviado por correo electrónico.
  • Gestión de licencias y Mac desde Settings.
  • Verificación de licencias sin conexión.
  • Mejoras de rendimiento, ajustes de la interfaz y correcciones de errores.

Requiere macOS 26.0 o posterior

Oxcart 0.1.3

Recuperación de memoria en reposo.

  • Recupera memoria de la VM cuando no hay contenedores en ejecución.
  • Conserva los contenedores, las imágenes, los volúmenes y las redes.

Requiere macOS 26.0 o posterior

Oxcart 0.1.2

Integración de herramientas de línea de comandos.

  • Alterna entre las herramientas Docker incluidas con Oxcart y una instalación existente.
  • Ajustes de la interfaz.

Requiere macOS 26.0 o posterior

Oxcart 0.1.1

Herramientas Docker incluidas y controles para agentes.

  • Docker CLI 29.9, Compose 5.6 y Buildx 0.38 incluidos.
  • Integración con contextos de Docker y credenciales seguras en el Llavero.
  • Conexiones de agentes MCP con permisos y bloqueo por agente.

Requiere macOS 26.0 o posterior

Oxcart 0.1.0

Contenedores compatibles con Docker para Apple silicon.

  • Compatibilidad con Docker CLI, Compose y Buildx.
  • Configuración sin conexión con los componentes de ejecución incluidos.
  • Puertos organizados por proyecto y rama de Git.
  • Integración MCP con acceso de solo lectura de forma predeterminada.
  • Actualizaciones automáticas verificadas.

Requiere macOS 26.0 o posterior