rke

DavidSpek/rke/openstack

Terraform Module HCL OPENSTACK

Terraform Openstack RKE

Install
module "rke" {
source = "DavidSpek/rke/openstack"
version = "0.4.3"
}
plain text: /constructs/tfmod-davidspek-rke-openstack/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-openstack-rke ![Terraform Registry](https://registry.terraform.io/modules/remche/rke/openstack) ![Build Status](https://travis-ci.com/remche/terraform-openstack-rke) Terraform module to deploy Kubernetes with RKE on OpenStack. Inspired by Marco Capuccini work, rewritten from scratch for Terraform 0.12+ and new terraform-rke-provider. Table of contents - Prerequisites - Examples - Documentation Prerequisites - Terraform 0.12+ - terraform-provider-rke v1.0.0-beta1+ - OpenStack environment properly sourced. - A Openstack image fullfiling RKE requirements. - At least one Openstack floating IP. Examples Minimal example with master node as egde node and two worker nodes ``hcl Consider using 'export TF_VAR_os_auth_url=$OS_AUTH_URL' variable "os_auth_url"{} Consider using 'export TF_VAR_

Inputs (43)
NameTypeDescriptionDefault
storage_typeslist(string)Cinder storage types required
image_namestringName of image nodes (must fullfill RKE requirements) required
master_flavor_namestringMaster flavor name required
default_storagestringDefault storage class required
dns_serverslist(string)DNS servers required
complete_flavor_namestringComplete flavor name required
os_auth_urlstringOpenstack auth_url. Consider using export TF_VAR_os_auth_url=$OS_AUTH_URL required
bastion_hoststringBastion host. Will use first master node if not set required
addons_includelist(string)RKE YAML files for add-ons required
worker_flavor_namestringWorker flavor name required
ssh_keypair_namestringSSH keypair name required
kubernetes_versionstringKubernetes version (RKE) required
public_net_namestringExternal network name required
user_data_filestringUser data file to provide when launching the instance required
os_passwordstringOpenstack password. Consider using export TF_VAR_os_password=$OS_PASSWORD required
dns_domainstringDNS domain for DNS integration. DNS domain names must have a dot at the end required
edge_flavor_namestringEdge flavor name. Will use worker_flavor_name if not set required
cloud_providerboolDeploy cloud provider"true"
deploy_nginxboolWhether to deploy nginx RKE addon"false"
acme_emailstringEmail for Let's Encrypt"example@example.com"
ssh_key_filestringLocal path to SSH key"~/.ssh/id_rsa"
edge_labelsmap(string)Edge labels. Ingress controller will run on nodes with egde label{ "node-role.kubernetes.io/worker": "t
master_labelsmap(string)Master labels. Ingress controller will run on nodes with egde label{ "node-role.kubernetes.io/edge": "tru
cni_mtunumberCNI MTU0
traefik_image_tagstringTraefik version"2.2"
complete_countnumberNumber of complete nodes (should be odd number...)0
nodes_config_driveboolWhether to use the config_drive feature to configure the instances"false"
complete_labelsmap(string)Complete labels. Ingress controller will run on nodes with egde label{ "node-role.kubernetes.io/edge": "tru
nodes_net_cidrstringNeutron network CIDR"192.168.42.0/24"
master_server_affinitystringMaster server group affinity"soft-anti-affinity"
edge_server_affinitystringEdge server group affinity"soft-anti-affinity"
worker_labelsmap(string)Worker labels{ "node-role.kubernetes.io/worker": "t
deploy_traefikboolWhether to deploy traefik. Mandatory if no edge nodes"true"
complete_server_affinitystringComplete server group affinity"soft-anti-affinity"
use_ssh_agentboolWhether to use ssh agent"true"
secgroup_ruleslistSecurity group rules[ { "port": 22, "protocol": "t
master_countnumberNumber of master nodes (should be odd number...)1
… and 3 more inputs
Outputs (6)
master_nodes — The master nodes
edge_nodes — The edge nodes
worker_nodes — The worker nodes
complete_nodes — The complete nodes
rke_cluster — RKE cluster spec
keypair_name — The name of the keypair used for nodes
Details
FrameworkTerraform Module
LanguageHCL
Version0.4.3
Cloud OPENSTACK
★ Stars0
Forks0
Total downloads796
Inputs43
Outputs6
Submodules5
LicenseMPL-2.0
NamespaceDavidSpek
Updated