Dalton Hubble 383aba4e8e Add /lib/modules mount to kube-proxy
* Starting in Kubernetes v1.8, kube-proxy modprobes ipvs
* kube-proxy still uses iptables, but in future may switch to
ipvs, this prepares the way for that to happen
* https://github.com/kubernetes-incubator/bootkube/issues/741
2017-11-08 21:39:07 -08:00
2017-09-01 10:27:43 -07:00
2017-08-02 00:05:04 -07:00

terraform-render-bootkube

terraform-render-bootkube is a Terraform module that renders kubernetes-incubator/bootkube assets for bootstrapping a Kubernetes cluster.

Audience

terraform-render-bootkube is a low-level component of the Typhoon Kubernetes distribution. Use Typhoon modules to create and manage Kubernetes clusters across supported platforms. Use the bootkube module if you'd like to customize a Kubernetes control plane or build your own distribution.

Usage

Use the module to declare bootkube assets. Check variables.tf for options and terraform.tfvars.example for examples.

module "bootkube" {
  source = "git://https://github.com/poseidon/terraform-render-bootkube.git?ref=SHA"

  cluster_name = "example"
  api_servers = ["node1.example.com"]
  etcd_servers = ["node1.example.com"]
  asset_dir = "/home/core/clusters/mycluster"
}

Generate the assets.

terraform init
terraform get --update
terraform plan
terraform apply

Find bootkube assets rendered to the asset_dir path. That's it.

Comparison

Render bootkube assets directly with bootkube v0.8.1.

bootkube render --asset-dir=assets --api-servers=https://node1.example.com:443 --api-server-alt-names=DNS=node1.example.com --etcd-servers=https://node1.example.com:2379

Compare assets. The only diffs you should see are TLS credentials.

pushd /home/core/mycluster
mv manifests-networking/* manifests
popd
diff -rw assets /home/core/mycluster

Self-hosted etcd (discouraged)

bootkube render --asset-dir=assets --api-servers=https://node1.example.com:443 --api-server-alt-names=DNS=node1.example.com --experimental-self-hosted-etcd

Compare assets. Note that experimental must be generated to a separate directory for terraform applies to sync. Move the experimental bootstrap-manifests and manifests files during deployment.

pushd /home/core/mycluster
mv experimental/bootstrap-manifests/* boostrap-manifests
mv experimental/manifests/* manifests
mv manifests-networking/* manifests
popd
diff -rw assets /home/core/mycluster
Description
No description provided
Readme MIT 667 KiB
Languages
HCL 100%