Add release note and getting started entries for Hetzner

This commit is contained in:
Ciprian Hacman 2022-05-24 13:35:00 +03:00
parent f56130b16b
commit 2ce053a421
3 changed files with 73 additions and 1 deletions

View File

@ -0,0 +1,67 @@
# 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.
The original issue ticket is [#8983](https://github.com/kubernetes/kops/issues/8983).
## Requirements
* kOps version >= 1.24
* kubectl version >= 1.23
* Hetzner Cloud [account](https://accounts.hetzner.com/login)
* Hetzner Cloud [token](https://docs.hetzner.cloud/#authentication)
* SSH public and private keys
* S3 compatible object storage (like [MinIO](https://docs.min.io/minio/baremetal/security/minio-identity-management/user-management.html))
## Environment Variables
It is important to set the following environment variables:
```bash
export KOPS_FEATURE_FLAGS=Hetzner
export HCLOUD_TOKEN=<token>
export S3_ENDPOINT=<endpoint>
export S3_ACCESS_KEY_ID=<acces-key>
export S3_SECRET_ACCESS_KEY=<secret-key>
export KOPS_STATE_STORE=s3://<bucket-name>
```
## Creating a Single Master Cluster
In the following examples, `example.k8s.local` is a [gossip-based DNS ](../gossip.md) cluster name.
```bash
# create a ubuntu 20.04 + calico cluster in fsn1
kops create cluster --name=my-cluster.example.k8s.local \
--ssh-public-key=~/.ssh/id_rsa.pub --cloud=hetzner --zones=fsn1 \
--image=ubuntu-20.04 --networking=calico --network-cidr=10.10.0.0/16
kops update cluster my-cluster.example.k8s.local --yes
# create a ubuntu 20.04 + calico cluster in fsn1 with CPU optimized servers
kops create cluster --name=my-cluster.example.k8s.local \
--ssh-public-key=~/.ssh/id_rsa.pub --cloud=hetzner --zones=fsn1 \
--image=ubuntu-20.04 --networking=calico --network-cidr=10.10.0.0/16 \
--node-size cpx31
kops update cluster my-cluster.example.k8s.local --yes
# delete a cluster
kops delete cluster --name=my-cluster.example.k8s.local --yes
# export kubecfg
# See https://kops.sigs.k8s.io/cli/kops_export_kubeconfig/#examples.
# update a cluster
# See https://kops.sigs.k8s.io/operations/updates_and_upgrades/#manual-update.
```
## Features Still in Development
kOps for Hetzner Cloud currently does not support the following features:
* Cluster validation
* Rolling updates
* Autoscaling using [Cluster Autoscaler](https://github.com/hetznercloud/autoscaler)
* Volumes using the [CSI Driver](https://github.com/hetznercloud/csi-driver)
* [Terraform](https://github.com/hetznercloud/terraform-provider-hcloud) support
* Multiple SSH keys
# 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.

View File

@ -6,6 +6,10 @@ This is a document to gather the release notes prior to the release.
# Significant changes
## Hetzner Cloud support
Adds experimental Hetzner Cloud support. To get started check the [docs](../getting_started/hetzner.md)
## Karpenter support
By enabling the `Karpenter` feature flag, users can now create InstanceGroups managed by (https://karpenter.sh)[Karpenter]:

View File

@ -41,8 +41,9 @@ nav:
- Deploying to GCE - Alpha: "getting_started/gce.md"
- Deploying to OpenStack - Beta: "getting_started/openstack.md"
- Deploying to Digital Ocean - Beta: "getting_started/digitalocean.md"
- Deploying to Spot Ocean - Alpha: "getting_started/spot-ocean.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"
- kOps Commands: "getting_started/commands.md"
- kOps Arguments: "getting_started/arguments.md"
- kubectl usage: "getting_started/kubectl.md"