mirror of https://github.com/kubernetes/kops.git
hetzner: Move out of alpha and drop feature flag
This commit is contained in:
parent
d8ce157d81
commit
81b4bb0717
221
README-ES.md
221
README-ES.md
|
@ -1,221 +0,0 @@
|
||||||
# kOps - Operaciones con Kubernetes
|
|
||||||
|
|
||||||
[](https://goreportcard.com/report/k8s.io/kops) [![GoDoc Widget]][GoDoc]
|
|
||||||
|
|
||||||
[GoDoc]: https://pkg.go.dev/k8s.io/kops
|
|
||||||
[GoDoc Widget]: https://godoc.org/k8s.io/kops?status.svg
|
|
||||||
|
|
||||||
|
|
||||||
La forma más fácil de poner en marcha un cluster Kubernetes en producción.
|
|
||||||
|
|
||||||
|
|
||||||
## ¿Qué es kOps?
|
|
||||||
|
|
||||||
Queremos pensar que es algo como `kubectl` para clusters.
|
|
||||||
|
|
||||||
`kops` ayuda a crear, destruir, mejorar y mantener un grado de producción, altamente
|
|
||||||
disponible, desde las líneas de commando de Kubernetes clusters. AWS (Amazon Web Services)
|
|
||||||
está oficialmente soportado actualmente, con GCE en soporte beta , y VMware vSphere
|
|
||||||
en alpha, y otras plataformas planeadas.
|
|
||||||
|
|
||||||
|
|
||||||
## ¿Puedo verlo en acción?
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<a href="https://asciinema.org/a/97298">
|
|
||||||
<img src="https://asciinema.org/a/97298.png" width="885"></image>
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
## Lanzando un anfitrión de Kubernetes cluster en AWS o GCE
|
|
||||||
|
|
||||||
Para reproducir exactamente el demo anterior, visualizalo en el [tutorial](/docs/getting_started/aws.md) para
|
|
||||||
lanzar un anfitrión de Kubernetes cluster en AWS.
|
|
||||||
|
|
||||||
Para instalar un Kubernetes cluster en GCE por fabor siga esta [guide](/docs/getting_started/gce.md).
|
|
||||||
|
|
||||||
|
|
||||||
## Caracteristicas
|
|
||||||
|
|
||||||
* Automatiza el aprovisionamiento de Kubernetes clusters en [AWS](/docs/getting_started/aws.md) y [GCE](/docs/getting_started/gce.md)
|
|
||||||
* Un Despliegue Altamente Disponible (HA) Kubernetes Masters
|
|
||||||
* Construye en un modelo de estado sincronizado para **dry-runs** y **idempotency** automático
|
|
||||||
* Capacidad de generar [Terraform](/docs/terraform.md)
|
|
||||||
* Soporta un Kubernetes personalizado [add-ons](/docs/operations/addons.md)
|
|
||||||
* Línea de commando [autocompletion](/docs/cli/kops_completion.md)
|
|
||||||
* YAML Archivo de Manifiesto Basado en API [Configuration](/docs/manifests_and_customizing_via_api.md)
|
|
||||||
* [Templating](/docs/cluster_template.md) y ejecutar modos de simulacro para crear
|
|
||||||
Manifiestos
|
|
||||||
* Escoge de ocho proveedores CNI diferentes [Networking](/docs/networking.md)
|
|
||||||
* Capacidad para añadir contenedores, como enganches, y archivos a nodos vía [cluster manifest](/docs/cluster_spec.md)
|
|
||||||
|
|
||||||
|
|
||||||
## Documentación
|
|
||||||
|
|
||||||
La documentación está en el directorio `/docs`, [and the index is here.](docs/README.md)
|
|
||||||
|
|
||||||
|
|
||||||
## Compatibilidad de Kubernetes con el Lanzamiento
|
|
||||||
|
|
||||||
|
|
||||||
### Soporte de la Versión Kubernetes
|
|
||||||
|
|
||||||
kOps está destinado a ser compatible con versiones anteriores. Siempre es recomendado utilizar la
|
|
||||||
última versión de kOps con cualquier versión de Kubernetes que estés utilizando. Siempre
|
|
||||||
utilize la última versión de kOps.
|
|
||||||
|
|
||||||
Una excepción, en lo que respecta a la compatibilidad, kOps soporta el equivalente a
|
|
||||||
un número de versión menor de Kubernetes. Una versión menor es el segundo dígito en el
|
|
||||||
número de versión. la versión de kOps 1.8.0 tiene una versión menor de 8. La numeración
|
|
||||||
sigue la especificación de versión semántica, MAJOR.MINOR.PATCH.
|
|
||||||
|
|
||||||
Por ejemplo kOps, 1.8.0 no soporta Kubernetes 1.9.2, pero kOps 1.9.0
|
|
||||||
soporta Kubernetes 1.9.2 y versiones anteriores de Kubernetes. Sólo cuando coincide la versión
|
|
||||||
menor de kOps, La versión menor de kubernetes hace que kOps soporte oficialmente
|
|
||||||
el lanzamiento de kubernetes. kOps no impide que un usuario instale versiones
|
|
||||||
no coincidentes de K8, pero las versiones de Kubernetes siempre requieren kOps para instalar
|
|
||||||
versiones de componentes como docker, probado contra la versión
|
|
||||||
particular de Kubernetes.
|
|
||||||
|
|
||||||
#### Compatibilidad Matrix
|
|
||||||
|
|
||||||
| kOps version | k8s 1.19.x | k8s 1.20.x | k8s 1.21.x | k8s 1.22.x | k8s 1.23.x |
|
|
||||||
|---------------|------------|------------|------------|------------|------------|
|
|
||||||
| 1.23.0 | ✔ | ✔ | ✔ | ✔ | ✔ |
|
|
||||||
| 1.22.x | ✔ | ✔ | ✔ | ✔ | ⚫ |
|
|
||||||
| ~~1.21.x~~ | ✔ | ✔ | ✔ | ⚫ | ⚫ |
|
|
||||||
| ~~1.20.x~~ | ✔ | ✔ | ⚫ | ⚫ | ⚫ |
|
|
||||||
| ~~1.19.x~~ | ✔ | ⚫ | ⚫ | ⚫ | ⚫ |
|
|
||||||
|
|
||||||
Utilice la última versión de kOps para todas las versiones de Kubernetes, con la advertencia de que las versiones más altas de Kubernetes no cuentan con el respaldo _oficial_ de kOps.
|
|
||||||
|
|
||||||
### Cronograma de Lanzamiento de kOps
|
|
||||||
|
|
||||||
Este proyecto no sigue el cronograma de lanzamiento de Kubernetes. `kops` tiene como objetivo
|
|
||||||
proporcionar una experiencia de instalación confiable para Kubernetes, y, por lo general, se lanza
|
|
||||||
aproximadamente un mes después de la publicación correspondiente de Kubernetes. Esta vez, permite que el proyecto Kubernetes resuelva los problemas que presenta la nueva versión y garantiza que podamos admitir las funciones más recientes. kOps lanzará pre-lanzamientos alfa y beta para las personas que están ansiosas por probar la última versión de Kubernetes.
|
|
||||||
Utilice únicamente lanzamientos pre-GA kOps en ambientes que puedan tolerar las peculiaridades de las nuevas versiones, e informe cualquier problema que surja.
|
|
||||||
|
|
||||||
|
|
||||||
## Instalación
|
|
||||||
|
|
||||||
### Requisito previo
|
|
||||||
|
|
||||||
`kubectl` es requerido, visualize [here](http://kubernetes.io/docs/user-guide/prereqs/).
|
|
||||||
|
|
||||||
|
|
||||||
### OSX desde Homebrew
|
|
||||||
|
|
||||||
```console
|
|
||||||
brew update && brew install kops
|
|
||||||
```
|
|
||||||
|
|
||||||
El binario `kops` también está disponible a través de nuestro [releases](https://github.com/kubernetes/kops/releases/latest).
|
|
||||||
|
|
||||||
|
|
||||||
### Linux
|
|
||||||
|
|
||||||
```console
|
|
||||||
curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
|
|
||||||
chmod +x kops-linux-amd64
|
|
||||||
sudo mv kops-linux-amd64 /usr/local/bin/kops
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Historial de Versiones
|
|
||||||
|
|
||||||
visualize el [releases](https://github.com/kubernetes/kops/releases) para más
|
|
||||||
información sobre cambios entre lanzamientos.
|
|
||||||
|
|
||||||
|
|
||||||
## Involucrarse y Contribuir
|
|
||||||
|
|
||||||
¿Estás interesado en contribuir con kOps? Nosotros, los mantenedores y la comunidad,
|
|
||||||
nos encantaría sus sugerencias, contribuciones y ayuda.
|
|
||||||
Tenemos una guía de inicio rápido en [adding a feature](/docs/development/adding_a_feature.md). Además, se
|
|
||||||
puede contactar a los mantenedores en cualquier momento para obtener más información sobre
|
|
||||||
cómo involucrarse.
|
|
||||||
Con el interés de involucrar a más personas con kOps, estamos comenzando a
|
|
||||||
etiquetar los problemas con `good-starter-issue`. Por lo general, se trata de problemas que tienen
|
|
||||||
un alcance menor, pero que son buenas maneras de familiarizarse con la base de código.
|
|
||||||
|
|
||||||
También alentamos a TODOS los participantes activos de la comunidad a actuar como si fueran
|
|
||||||
mantenedores, incluso si no tiene permisos de escritura "oficiales".Este es un
|
|
||||||
esfuerzo de la comunidad, estamos aquí para servir a la comunidad de Kubernetes.
|
|
||||||
Si tienes un interés activo y quieres involucrarte, ¡tienes verdadero poder!
|
|
||||||
No asuma que las únicas personas que pueden hacer cosas aquí son los "mantenedores".
|
|
||||||
|
|
||||||
También nos gustaría agregar más mantenedores "oficiales", así que
|
|
||||||
¡muéstranos lo que puedes hacer!
|
|
||||||
|
|
||||||
|
|
||||||
Lo que esto significa:
|
|
||||||
|
|
||||||
__Issues__
|
|
||||||
* Ayude a leer y clasifique los problemas, ayúdelo cuando sea posible.
|
|
||||||
* Señale los problemas que son duplicados, desactualizados, etc.
|
|
||||||
- Incluso si no tiene permisos para etiquetar, tome nota y etiquete mantenedores (`/close`,`/dupe #127`).
|
|
||||||
|
|
||||||
__Pull Requests__
|
|
||||||
* Lee y revisa el código. Deja comentarios, preguntas y críticas (`/lgtm` ).
|
|
||||||
* Descargue, compile y ejecute el código y asegúrese de que las pruebas pasen (make test).
|
|
||||||
- También verifique que la nueva característica parezca cuerda, siga los mejores patrones arquitectónicos e incluya pruebas.
|
|
||||||
|
|
||||||
Este repositorio usa los bots de Kubernetes. Hay una lista completa de los commandos [aqui](https://go.k8s.io/bot-commands).
|
|
||||||
|
|
||||||
|
|
||||||
## Horas de Oficina
|
|
||||||
|
|
||||||
Los mantenedores de kOps reservaron una hora cada dos semanas para **horas de oficina** públicas. Los horarios de oficina se alojan en un [zoom video chat](https://zoom.us/j/97072789944?pwd=VVlUR3dhN2h5TEFQZHZTVVd4SnJUdz09) los viernes en [5 pm UTC/12 noon ET/9 am US Pacific](http://www.worldtimebuddy.com/?pl=1&lid=100,5,8,12), en semanas impares numeradas. Nos esforzamos por conocer y ayudar a los programadores, ya sea trabajando en `kops` o interesados en conocer más sobre el proyecto.
|
|
||||||
|
|
||||||
|
|
||||||
### Temas Abiertos en Horas de Oficina
|
|
||||||
|
|
||||||
Incluye pero no limitado a:
|
|
||||||
|
|
||||||
- Ayuda y guía para aquellos que asisten, que están interesados en contribuir.
|
|
||||||
- Discuta el estado actual del proyecto kOps, incluidas las versiones.
|
|
||||||
- Diseña estrategias para mover `kops` hacia adelante.
|
|
||||||
- Colabora sobre PRs abiertos y próximos.
|
|
||||||
- Presenta demos.
|
|
||||||
|
|
||||||
Esta vez se enfoca en los programadores, aunque nunca rechazaremos a un participante cortés. Pase por alto, incluso si nunca ha instalado kOps.
|
|
||||||
|
|
||||||
Le recomendamos que se comunique **de antemano** si planea asistir. Puedes unirte a cualquier sesión y no dudes en agregar un elemento a la [agenda](https://docs.google.com/document/d/12QkyL0FkNbWPcLFxxRGSPt_tNPBHbmni3YLY-lHny7E/edit) donde rastreamos notas en el horario de oficina.
|
|
||||||
|
|
||||||
Los horarios de oficina están alojados en una [Zoom](https://zoom.us/j/97072789944?pwd=VVlUR3dhN2h5TEFQZHZTVVd4SnJUdz09) video conferencia, celebrada los viernes a las [5 pm UTC/12 noon ET/9 am US Pacific](http://www.worldtimebuddy.com/?pl=1&lid=100,5,8,12) cada otra semana impare numerada.
|
|
||||||
|
|
||||||
Puede verificar su número de semana utilizando:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
date +%V
|
|
||||||
```
|
|
||||||
|
|
||||||
Los mantenedores y otros miembros de la comunidad están generalmente disponibles en [kubernetes slack](https://github.com/kubernetes/community/blob/master/communication.md#social-media) en [#kops](https://kubernetes.slack.com/messages/kops/), ¡así que ven y conversa con nosotros sobre cómo los kOps pueden ser mejores para ti!
|
|
||||||
|
|
||||||
|
|
||||||
## GitHub Issues
|
|
||||||
|
|
||||||
|
|
||||||
### Errores
|
|
||||||
|
|
||||||
Si cree que ha encontrado un error, siga las instrucciones a continuación.
|
|
||||||
|
|
||||||
- Dedique una pequeña cantidad de tiempo a prestar la debida diligencia al rastreador de problemas. Tu problema puede ser un duplicado.
|
|
||||||
- Establezca la `-v 10` línea de commando y guarde la salida de los registros. Por favor pegue esto en su issue.
|
|
||||||
- Note the version of kOps you are running (from `kops version`), and the command line options you are using.
|
|
||||||
- Abra un [new issue](https://github.com/kubernetes/kops/issues/new).
|
|
||||||
- Recuerde que los usuarios pueden estar buscando su issue en el futuro, por lo que debe darle un título significativo para ayudar a otros.
|
|
||||||
- No dude en comunicarse con la comunidad de kOps en [kubernetes slack](https://github.com/kubernetes/community/blob/master/communication.md#social-media).
|
|
||||||
|
|
||||||
|
|
||||||
### Caracteristicas
|
|
||||||
|
|
||||||
También usamos el rastreador de problemas para rastrear características. Si tiene una idea para una función, o cree que puede ayudar a que los kOps se vuelvan aún más impresionantes, siga los pasos a continuación.
|
|
||||||
|
|
||||||
- Abra un [new issue](https://github.com/kubernetes/kops/issues/new).
|
|
||||||
- Recuerde que los usuarios pueden estar buscando su issue en el futuro, por lo que debe darle un título significativo para ayudar a otros.
|
|
||||||
- Defina claramente el caso de uso, usando ejemplos concretos. P EJ: Escribo `esto` y kOps hace `eso`.
|
|
||||||
- Algunas de nuestras características más grandes requerirán algún diseño. Si desea incluir un diseño técnico para su función, inclúyalo en el problema.
|
|
||||||
- Después de que la nueva característica sea bien comprendida, y el diseño acordado, podemos comenzar a codificar la característica. Nos encantaría que lo codificaras. Por lo tanto, abra una **WIP** *(trabajo en progreso)* solicitud de extracción, y que tenga una feliz codificación.
|
|
|
@ -15,7 +15,7 @@ We like to think of it as `kubectl` for clusters.
|
||||||
`kops` will not only help you create, destroy, upgrade and maintain production-grade, highly
|
`kops` will not only help you create, destroy, upgrade and maintain production-grade, highly
|
||||||
available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.
|
available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.
|
||||||
|
|
||||||
AWS (Amazon Web Services) is currently officially supported, with DigitalOcean, GCE, and OpenStack in beta support, and Azure and AliCloud in alpha.
|
AWS (Amazon Web Services) and GCE (Google Cloud Platform) are currently officially supported, with DigitalOcean, Hetzner and OpenStack in beta support, and Azure in alpha.
|
||||||
|
|
||||||
## Can I see it in action?
|
## Can I see it in action?
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ AWS (Amazon Web Services) is currently officially supported, with DigitalOcean,
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
## Installing and launching a Kubernetes cluster hosted on AWS, GCE, DigitalOcean or OpenStack
|
## Installing and launching a Kubernetes cluster hosted on AWS, GCE, DigitalOcean, Hetzner, OpenStack, Azure
|
||||||
|
|
||||||
See [Getting Started](https://kops.sigs.k8s.io/getting_started/install/)
|
See [Getting Started](https://kops.sigs.k8s.io/getting_started/install/)
|
||||||
|
|
||||||
|
|
|
@ -58,12 +58,6 @@ func TestCreateClusterMinimal(t *testing.T) {
|
||||||
// TestCreateClusterHetzner runs kops create cluster minimal.k8s.local --zones fsn1
|
// TestCreateClusterHetzner runs kops create cluster minimal.k8s.local --zones fsn1
|
||||||
func TestCreateClusterHetzner(t *testing.T) {
|
func TestCreateClusterHetzner(t *testing.T) {
|
||||||
t.Setenv("HCLOUD_TOKEN", "REDACTED")
|
t.Setenv("HCLOUD_TOKEN", "REDACTED")
|
||||||
featureflag.ParseFlags("+Hetzner")
|
|
||||||
unsetFeatureFlags := func() {
|
|
||||||
featureflag.ParseFlags("-Hetzner")
|
|
||||||
}
|
|
||||||
defer unsetFeatureFlags()
|
|
||||||
|
|
||||||
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/ha_hetzner", "v1alpha2")
|
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/ha_hetzner", "v1alpha2")
|
||||||
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/minimal_hetzner", "v1alpha2")
|
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/minimal_hetzner", "v1alpha2")
|
||||||
}
|
}
|
||||||
|
|
|
@ -276,12 +276,6 @@ func TestMinimal_v1_26(t *testing.T) {
|
||||||
// TestHetzner runs the test on a minimum configuration
|
// TestHetzner runs the test on a minimum configuration
|
||||||
func TestHetzner(t *testing.T) {
|
func TestHetzner(t *testing.T) {
|
||||||
t.Setenv("HCLOUD_TOKEN", "REDACTED")
|
t.Setenv("HCLOUD_TOKEN", "REDACTED")
|
||||||
featureflag.ParseFlags("+Hetzner")
|
|
||||||
unsetFeatureFlags := func() {
|
|
||||||
featureflag.ParseFlags("-Hetzner")
|
|
||||||
}
|
|
||||||
defer unsetFeatureFlags()
|
|
||||||
|
|
||||||
newIntegrationTest("minimal.k8s.local", "minimal_hetzner").
|
newIntegrationTest("minimal.k8s.local", "minimal_hetzner").
|
||||||
runTestTerraformHetzner(t)
|
runTestTerraformHetzner(t)
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ kops create cluster [CLUSTER] [flags]
|
||||||
--authorization string Authorization mode: AlwaysAllow or RBAC (default "RBAC")
|
--authorization string Authorization mode: AlwaysAllow or RBAC (default "RBAC")
|
||||||
--bastion Enable a bastion instance group. Only applies to private topology.
|
--bastion Enable a bastion instance group. Only applies to private topology.
|
||||||
--channel string Channel for default versions and configuration to use (default "stable")
|
--channel string Channel for default versions and configuration to use (default "stable")
|
||||||
--cloud string Cloud provider to use - aws, digitalocean, gce, openstack
|
--cloud string Cloud provider to use - aws, digitalocean, gce, hetzner, openstack
|
||||||
--cloud-labels string A list of key/value pairs used to tag all instance groups (for example "Owner=John Doe,Team=Some Team").
|
--cloud-labels string A list of key/value pairs used to tag all instance groups (for example "Owner=John Doe,Team=Some Team").
|
||||||
--container-runtime string Container runtime to use: containerd, docker
|
--container-runtime string Container runtime to use: containerd, docker
|
||||||
--disable-subnet-tags Disable automatic subnet tagging
|
--disable-subnet-tags Disable automatic subnet tagging
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Getting Started with kOps on DigitalOcean
|
# Getting Started with kOps on DigitalOcean
|
||||||
|
|
||||||
**WARNING**: digitalocean support on kOps promoted to **beta** currently meaning it is subject to change, so please use with caution.
|
**WARNING**: digitalocean support on kOps promoted to **beta**, which means it is in good shape and could be used for production.
|
||||||
|
However, it is not as rigorously tested as the stable cloud providers and there are some features that might be missing.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
@ -94,6 +95,6 @@ kOps for DigitalOcean currently does not support these features:
|
||||||
|
|
||||||
* kops terraform support for DO
|
* kops terraform support for DO
|
||||||
|
|
||||||
# Next steps
|
## Next steps
|
||||||
|
|
||||||
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
|
@ -185,6 +185,6 @@ the command. When run without `--yes` it shows a preview of the objects it will
|
||||||
|
|
||||||
After you've double-checked you're deleting exactly what you want to delete, run `kops delete cluster simple.k8s.local --yes`.
|
After you've double-checked you're deleting exactly what you want to delete, run `kops delete cluster simple.k8s.local --yes`.
|
||||||
|
|
||||||
# Next steps
|
## Next steps
|
||||||
|
|
||||||
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
|
@ -1,7 +1,7 @@
|
||||||
# Getting Started with kOps on Hetzner Cloud
|
# Getting Started with kOps on Hetzner Cloud
|
||||||
|
|
||||||
**WARNING**: Hetzner Cloud support on kOps is currently in **alpha**, meaning it is subject to change, so please use with caution.
|
**WARNING**: Hetzner Cloud support on kOps is currently in **beta**, which means it is in good shape and could be used for production.
|
||||||
The original issue ticket is [#8983](https://github.com/kubernetes/kops/issues/8983).
|
However, it is not as rigorously tested as the stable cloud providers and there are some features that might be missing.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
* kOps version >= 1.24
|
* kOps version >= 1.24
|
||||||
|
@ -15,7 +15,6 @@ The original issue ticket is [#8983](https://github.com/kubernetes/kops/issues/8
|
||||||
|
|
||||||
It is important to set the following environment variables:
|
It is important to set the following environment variables:
|
||||||
```bash
|
```bash
|
||||||
export KOPS_FEATURE_FLAGS=Hetzner
|
|
||||||
export HCLOUD_TOKEN=<token>
|
export HCLOUD_TOKEN=<token>
|
||||||
export S3_ENDPOINT=<endpoint>
|
export S3_ENDPOINT=<endpoint>
|
||||||
export S3_ACCESS_KEY_ID=<acces-key>
|
export S3_ACCESS_KEY_ID=<acces-key>
|
||||||
|
@ -46,10 +45,17 @@ kops create cluster --name=my-cluster.example.k8s.local \
|
||||||
--node-size cpx31
|
--node-size cpx31
|
||||||
kops update cluster --name=my-cluster.example.k8s.local --yes
|
kops update cluster --name=my-cluster.example.k8s.local --yes
|
||||||
|
|
||||||
|
# update a cluster
|
||||||
|
kops update cluster --name=my-cluster.example.k8s.local
|
||||||
|
kops update cluster --name=my-cluster.example.k8s.local --yes
|
||||||
|
kops rolling-update cluster --name=my-cluster.example.k8s.local
|
||||||
|
kops rolling-update cluster --name=my-cluster.example.k8s.local --yes
|
||||||
|
|
||||||
# validate a cluster
|
# validate a cluster
|
||||||
kops validate cluster --name=my-cluster.example.k8s.local
|
kops validate cluster --name=my-cluster.example.k8s.local
|
||||||
|
|
||||||
# delete a cluster
|
# delete a cluster
|
||||||
|
kops delete cluster --name=my-cluster.example.k8s.local
|
||||||
kops delete cluster --name=my-cluster.example.k8s.local --yes
|
kops delete cluster --name=my-cluster.example.k8s.local --yes
|
||||||
|
|
||||||
# export kubecfg
|
# export kubecfg
|
||||||
|
@ -63,10 +69,9 @@ kops delete cluster --name=my-cluster.example.k8s.local --yes
|
||||||
|
|
||||||
kOps for Hetzner Cloud currently does not support the following features:
|
kOps for Hetzner Cloud currently does not support the following features:
|
||||||
|
|
||||||
* Multiple SSH keys
|
|
||||||
* Autoscaling using [Cluster Autoscaler](https://github.com/hetznercloud/autoscaler)
|
* Autoscaling using [Cluster Autoscaler](https://github.com/hetznercloud/autoscaler)
|
||||||
* [Terraform](https://github.com/hetznercloud/terraform-provider-hcloud) support
|
* Terraform support using [terraform-provider-hcloud](https://github.com/hetznercloud/terraform-provider-hcloud)
|
||||||
|
|
||||||
# Next steps
|
## Next steps
|
||||||
|
|
||||||
Now that you have a working kOps cluster, read through the recommendations for [production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
Now that you have a working kOps cluster, read through the recommendations for [production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
||||||
|
|
|
@ -218,6 +218,6 @@ spec:
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
```
|
```
|
||||||
|
|
||||||
# Next steps
|
## Next steps
|
||||||
|
|
||||||
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
Now that you have a working kOps cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure kOps for production workloads.
|
||||||
|
|
|
@ -18,7 +18,7 @@ We like to think of it as `kubectl` for clusters.
|
||||||
`kops` will not only help you create, destroy, upgrade and maintain production-grade, highly
|
`kops` will not only help you create, destroy, upgrade and maintain production-grade, highly
|
||||||
available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.
|
available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.
|
||||||
|
|
||||||
[AWS](getting_started/aws.md) (Amazon Web Services) is currently officially supported, with [DigitalOcean](getting_started/digitalocean.md), [GCE](getting_started/gce.md) and [OpenStack](getting_started/openstack.md) in beta support, and [Azure](getting_started/azure.md) in alpha.
|
[AWS](getting_started/aws.md) (Amazon Web Services) and [GCE](getting_started/gce.md) (Google Cloud Platform) are currently officially supported, with [DigitalOcean](getting_started/digitalocean.md), [Hetzner](getting_started/hetzner.md) and [OpenStack](getting_started/openstack.md) in beta support, and [Azure](getting_started/azure.md) in alpha.
|
||||||
|
|
||||||
## Can I see it in action?
|
## Can I see it in action?
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,11 @@ nav:
|
||||||
- Getting Started:
|
- Getting Started:
|
||||||
- Installing: "getting_started/install.md"
|
- Installing: "getting_started/install.md"
|
||||||
- Deploying to AWS: "getting_started/aws.md"
|
- Deploying to AWS: "getting_started/aws.md"
|
||||||
- Deploying to GCE - Alpha: "getting_started/gce.md"
|
- Deploying to GCE: "getting_started/gce.md"
|
||||||
- Deploying to OpenStack - Beta: "getting_started/openstack.md"
|
|
||||||
- Deploying to Digital Ocean - Beta: "getting_started/digitalocean.md"
|
- Deploying to Digital Ocean - Beta: "getting_started/digitalocean.md"
|
||||||
|
- Deploying to Hetzner - Beta: "getting_started/hetzner.md"
|
||||||
|
- Deploying to OpenStack - Beta: "getting_started/openstack.md"
|
||||||
- Deploying to Azure - Alpha: "getting_started/azure.md"
|
- Deploying to Azure - Alpha: "getting_started/azure.md"
|
||||||
- Deploying to Hetzner - Alpha: "getting_started/hetzner.md"
|
|
||||||
- Deploying to Spot Ocean - Alpha: "getting_started/spot-ocean.md"
|
- Deploying to Spot Ocean - Alpha: "getting_started/spot-ocean.md"
|
||||||
- kOps Commands: "getting_started/commands.md"
|
- kOps Commands: "getting_started/commands.md"
|
||||||
- kOps Arguments: "getting_started/arguments.md"
|
- kOps Arguments: "getting_started/arguments.md"
|
||||||
|
|
|
@ -26,14 +26,12 @@ func SupportedClouds() []kops.CloudProviderID {
|
||||||
kops.CloudProviderAWS,
|
kops.CloudProviderAWS,
|
||||||
kops.CloudProviderDO,
|
kops.CloudProviderDO,
|
||||||
kops.CloudProviderGCE,
|
kops.CloudProviderGCE,
|
||||||
|
kops.CloudProviderHetzner,
|
||||||
kops.CloudProviderOpenstack,
|
kops.CloudProviderOpenstack,
|
||||||
}
|
}
|
||||||
if featureflag.Azure.Enabled() {
|
if featureflag.Azure.Enabled() {
|
||||||
clouds = append(clouds, kops.CloudProviderAzure)
|
clouds = append(clouds, kops.CloudProviderAzure)
|
||||||
}
|
}
|
||||||
if featureflag.Hetzner.Enabled() {
|
|
||||||
clouds = append(clouds, kops.CloudProviderHetzner)
|
|
||||||
}
|
|
||||||
|
|
||||||
return clouds
|
return clouds
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,8 +90,6 @@ var (
|
||||||
Karpenter = new("Karpenter", Bool(false))
|
Karpenter = new("Karpenter", Bool(false))
|
||||||
// ImageDigest remaps all manifests with image digests
|
// ImageDigest remaps all manifests with image digests
|
||||||
ImageDigest = new("ImageDigest", Bool(true))
|
ImageDigest = new("ImageDigest", Bool(true))
|
||||||
// Hetzner toggles the Hetzner Cloud support.
|
|
||||||
Hetzner = new("Hetzner", Bool(false))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// FeatureFlag defines a feature flag
|
// FeatureFlag defines a feature flag
|
||||||
|
|
|
@ -427,9 +427,7 @@ func (c *ApplyClusterCmd) Run(ctx context.Context) error {
|
||||||
|
|
||||||
case kops.CloudProviderHetzner:
|
case kops.CloudProviderHetzner:
|
||||||
{
|
{
|
||||||
if !featureflag.Hetzner.Enabled() {
|
// Hetzner Cloud support is currently in beta
|
||||||
return fmt.Errorf("Hetzner Cloud support is currently alpha, and is feature-gated. export KOPS_FEATURE_FLAGS=Hetzner")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case kops.CloudProviderDO:
|
case kops.CloudProviderDO:
|
||||||
|
|
Loading…
Reference in New Issue