
Kubernetes 1.5.0 salió a la venta hace apenas un mes. El tema clave del lanzamiento son:
- Conjuntos de estados (ex-PetSets)
- StatefulSets ya es beta (correcciones y estabilización)
- Apoyo mejorado a la Federación
- Nuevo comando:
kubefed - DaemonSets
- Despliegues
- ConfigMaps
- Nuevo comando:
- Despliegue simplificado de clústeres
- Mejoras de
kubeadm - Configuración de HA para el maestro
- Mejoras de
- Robustez y extensibilidad de los nodos
- Compatibilidad con Windows Server Container
- CRI para tiempos de ejecución de contenedores conectables
kubeletLa API admite autenticación y autorización
Leer CHANGELOG para más detalles. Hasta la versión 1.5.0, poner en marcha un clúster de Kubernetes en Amazon Web Services era bastante sencillo.
|
1 |
NUM_NODES=2 NODE_SIZE=m3.medium KUBERNETES_PROVIDER=aws ./cluster/kube-up.sh |
Pero con 1.5.0 y 1.5.1, el comando falla con el error:
|
1 2 3 4 5 |
... Starting cluster in us-west-2a using provider aws ... calling verify-prereqs ... calling kube-up Starting cluster using os distro: jessie !!! Cannot find kubernetes-server-linux-amd64.tar.gz |
¿Qué ocurría? Básicamente, los binarios de Kubernetes superaban 1 GB. El binario se dividía en un paquete de instalación básico y binarios de cliente y servidor. El proceso de instalación actualizado requiere la descarga del paquete de instalación básico de 4,57 MB (sí, MB en lugar de GB). Incluye scripts de clúster como kubectl, kube-up.sh y kube-down.shejemplos, documentos y otros scripts. A continuación, se descargan los binarios del cliente y del servidor. El binario del servidor es la imagen base que se utiliza para arrancar las instancias EC2. Pero en lugar de automatizar la descarga de los binarios, alguien decidió añadir un README en el archivo servidor directorio.
Se trataba de un gran cambio en la experiencia del usuario, y no había enlaces en el archivo README incluido con la versión ni en el archivo el blog de la liberación. ¡Ay!
De todos modos, esto fue archivado como #38728 y se arregló rápidamente. Pero se perdió el Versión 1.5.1 y ahora finalmente apareció en el Versión 1.5.2 hoy.
Entonces, ¿cómo se ejecuta un clúster Kubernetes 1.5.2 en AWS? Ahora está más perfectamente integrado, pero hay que pulsar la tecla Intro un par de veces para aceptar el valor predeterminado:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
NUM_NODES=2 NODE_SIZE=m3.medium KUBERNETES_PROVIDER=aws ./cluster/kube-up.sh ... Starting cluster in us-west-2a using provider aws ... calling verify-prereqs ... calling verify-kube-binaries !!! kubectl appears to be broken or missing !!! Cannot find kubernetes-server-linux-amd64.tar.gz Required binaries appear to be missing. Do you wish to download them? [Y/n] Kubernetes release: v1.5.2 Server: linux/amd64 (to override, set KUBERNETES_SERVER_ARCH) Client: darwin/amd64 (autodetected) Will download kubernetes-server-linux-amd64.tar.gz from https://storage.googleapis.com/kubernetes-release/release/v1.5.2 Will download and extract kubernetes-client-darwin-amd64.tar.gz from https://storage.googleapis.com/kubernetes-release/release/v1.5.2 Is this ok? [Y]/n Warning: Keep-alive functionality somewhat crippled due to missing support in Warning: your operating system! % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 299M 100 299M 0 0 2132k 0 0:02:23 0:02:23 --:--:-- 2439k md5sum(kubernetes-server-linux-amd64.tar.gz)=7947bd430c4ffc358a6784e51c1d2b0f sha1sum(kubernetes-server-linux-amd64.tar.gz)=4dbdcfa623412dac6be8fd5a4209a1f1423e8d30 Warning: Keep-alive functionality somewhat crippled due to missing support in Warning: your operating system! % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 22.0M 100 22.0M 0 0 1810k 0 0:00:12 0:00:12 --:--:-- 2296k md5sum(kubernetes-client-darwin-amd64.tar.gz)=f55a8f9c300042e9b16e327ad2788521 sha1sum(kubernetes-client-darwin-amd64.tar.gz)=c29ab99e22146ba0a3da5c25de62ed13108b8ba9 Extracting /Users/arungupta/tools/kubernetes/kubernetes-1.5.2/kubernetes/client/kubernetes-client-darwin-amd64.tar.gz into /Users/arungupta/tools/kubernetes/kubernetes-1.5.2/kubernetes/platforms/darwin/amd64 Add '/Users/arungupta/tools/kubernetes/kubernetes-1.5.2/kubernetes/client/bin' to your PATH to use newly-installed binaries. ... calling kube-up Starting cluster using os distro: jessie Uploading to Amazon S3 ... |
Después de crear el clúster Kubernetes habitual, la salida se muestra como:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
0 minions started; waiting 0 minions started; waiting 2 minions started; ready Waiting for cluster initialization. This will continually check to see if the API for kubernetes is reachable. This might loop forever if there was some uncaught error during start up. .........................................................................................................................................................................Kubernetes cluster created. Sanity checking cluster... Attempt 1 to check Docker on node @ 35.166.195.134 ...not working yet Attempt 2 to check Docker on node @ 35.166.195.134 ...working Attempt 1 to check Docker on node @ 35.166.188.211 ...not working yet Attempt 2 to check Docker on node @ 35.166.188.211 ...working Kubernetes cluster is running. The master is running at: https://35.165.234.219 The user name and password to use is located in /Users/arungupta/.kube/config. ... calling validate-cluster No resources found. Waiting for 2 ready nodes. 0 ready nodes, 0 registered. Retrying. Waiting for 2 ready nodes. 0 ready nodes, 2 registered. Retrying. Waiting for 2 ready nodes. 0 ready nodes, 2 registered. Retrying. Found 2 node(s). NAME STATUS AGE ip-172-20-0-206.us-west-2.compute.internal Ready 45s ip-172-20-0-246.us-west-2.compute.internal Ready 42s Validate output: NAME STATUS MESSAGE ERROR controller-manager Healthy ok scheduler Healthy ok etcd-0 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} Cluster validation succeeded Done, listing cluster services: Kubernetes master is running at https://35.165.234.219 Elasticsearch is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging Heapster is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/heapster Kibana is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kibana-logging KubeDNS is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard Grafana is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana InfluxDB is running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. |
A pesar de que su clúster Kubernetes en AWS arranca bien, pero kube-up.sh script va a ser obsoleto pronto. La forma recomendada es utilizar Clúster Kubernetes en Amazon usando Kops. Ahora que su clúster Kubernetes está en marcha, ¿qué debe hacer a continuación?
- Siga los pasos detallados para Kubernetes para desarrolladores Java taller.
- Ejecutar un Clúster Couchbase en Kubernetes
- Más información Clúster Couchbase en contenedores