mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-07-04 12:58:03 -02:30
Add support for Packet with Terraform (#4043)
* Add support for Packet with Terraform Co-Author: johnstudarus <john@jhlconsulting.com> * removed advanced features to streamline * clarifying usage * Update README.md provide a better test to validate things are working OK * Update README.md clarifying what to set * minor wordsmithing * Fix admin cert path * clarifying how to configure keys * enabling kubeconfig_localhost pull over the configuration file via playbooks rather than the key files individually * Create output.tf * Add support for node specific plans
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
68fd7e39da
commit
40f1c51ec3
62
contrib/terraform/packet/kubespray.tf
Normal file
62
contrib/terraform/packet/kubespray.tf
Normal file
@@ -0,0 +1,62 @@
|
||||
# Configure the Packet Provider
|
||||
provider "packet" {
|
||||
}
|
||||
|
||||
resource "packet_ssh_key" "k8s" {
|
||||
count = "${var.public_key_path != "" ? 1 : 0}"
|
||||
name = "kubernetes-${var.cluster_name}"
|
||||
public_key = "${chomp(file(var.public_key_path))}"
|
||||
}
|
||||
|
||||
resource "packet_device" "k8s_master" {
|
||||
depends_on = ["packet_ssh_key.k8s"]
|
||||
|
||||
count = "${var.number_of_k8s_masters}"
|
||||
hostname = "${var.cluster_name}-k8s-master-${count.index+1}"
|
||||
plan = "${var.plan_k8s_masters}"
|
||||
facility = "${var.facility}"
|
||||
operating_system = "${var.operating_system}"
|
||||
billing_cycle = "${var.billing_cycle}"
|
||||
project_id = "${var.packet_project_id}"
|
||||
tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-master", "etcd", "kube-node"]
|
||||
|
||||
}
|
||||
|
||||
resource "packet_device" "k8s_master_no_etcd" {
|
||||
depends_on = ["packet_ssh_key.k8s"]
|
||||
|
||||
count = "${var.number_of_k8s_masters_no_etcd}"
|
||||
hostname = "${var.cluster_name}-k8s-master-${count.index+1}"
|
||||
plan = "${var.plan_k8s_masters_no_etcd}"
|
||||
facility = "${var.facility}"
|
||||
operating_system = "${var.operating_system}"
|
||||
billing_cycle = "${var.billing_cycle}"
|
||||
project_id = "${var.packet_project_id}"
|
||||
tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-master"]
|
||||
}
|
||||
|
||||
resource "packet_device" "k8s_etcd" {
|
||||
depends_on = ["packet_ssh_key.k8s"]
|
||||
|
||||
count = "${var.number_of_etcd}"
|
||||
hostname = "${var.cluster_name}-etcd-${count.index+1}"
|
||||
plan = "${var.plan_etcd}"
|
||||
facility = "${var.facility}"
|
||||
operating_system = "${var.operating_system}"
|
||||
billing_cycle = "${var.billing_cycle}"
|
||||
project_id = "${var.packet_project_id}"
|
||||
tags = ["cluster-${var.cluster_name}", "etcd"]
|
||||
}
|
||||
|
||||
resource "packet_device" "k8s_node" {
|
||||
depends_on = ["packet_ssh_key.k8s"]
|
||||
|
||||
count = "${var.number_of_k8s_nodes}"
|
||||
hostname = "${var.cluster_name}-k8s-node-${count.index+1}"
|
||||
plan = "${var.plan_k8s_nodes}"
|
||||
facility = "${var.facility}"
|
||||
operating_system = "${var.operating_system}"
|
||||
billing_cycle = "${var.billing_cycle}"
|
||||
project_id = "${var.packet_project_id}"
|
||||
tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-node"]
|
||||
}
|
||||
Reference in New Issue
Block a user