Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Typhoon Azure for Container Linux #288

Merged
merged 5 commits into from
Aug 28, 2018
Merged

Add Typhoon Azure for Container Linux #288

merged 5 commits into from
Aug 28, 2018

Conversation

dghubble
Copy link
Member

@dghubble dghubble commented Aug 28, 2018

Add Typhoon on Azure on Container Linux. Both Azure and Typhoon have changed since 6 months ago. Typhoon Azure supports single or multi-master self-hosted control plane. Availability set masters. Scale set workers with autoscaling. Network isolated controllers and workers. CoreDNS. RBAC always. Flannel (no Calico or Network Policy, great sadness). Load balancer with IPv4 "frontends" for apiservers (Typhoon favors 6443) and Ingress controllers. Prometheus, Grafana, Heapster, and CLUO addons. Alerts all green. Fast disks for etcd. Conformance passes. Container Linux Config snippets. Worker pools (same region only). Low priority instances for saving $$. Other Typhoon nice things.

Once v1.11.3 is released:

module "azure-ramius" {
  source = "git::https://github.com/poseidon/typhoon//azure/container-linux/kubernetes?ref=v1.11.3"

  providers = {
    azurerm  = "azurerm.default"
    local    = "local.default"
    null     = "null.default"
    template = "template.default"
    tls      = "tls.default"
  }

  # Azure
  cluster_name   = "ramius"
  region         = "centralus"
  dns_zone       = "azure.example.com"
  dns_zone_group = "example-group"

  # configuration
  ssh_authorized_key = "ssh-rsa AAAAB3Nz..."
  asset_dir          = "/home/user/.secrets/clusters/ramius"

  # optional
  worker_count    = 3
  host_cidr       = "10.0.0.0/20"
}

See full tutorial in https://github.com/poseidon/typhoon/blob/master/docs/cl/azure.md

Status

Azure is alpha. Azure still has a ways to go. For production, use AWS, Google Cloud, or bare-metal which are rated stable. Check errata for known shortcomings.

I run an always-on Azure cluster alongside Typhoon AWS, bare-metal, and GCP clusters.

Also, special thanks to @justaugustus who wrote an early variant back in January.

* Fix issue where worker nodes didn't delete themselves on
scale-down or deallocation (e.g. low priority instances).
Lowercase the hostname and delete the Kubernetes node
* Kubelet registers the lowercase hostname as the node name,
but Azure workers get hostname CLUSTER-worker-GENERATED where
the generated identifier may contain uppercase characters
* Azure worker pools must be in the same region as
the cluster itself unfortunately
@dghubble dghubble merged commit 4882fe1 into master Aug 28, 2018
@dghubble dghubble deleted the azure branch September 3, 2018 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant