first test terraform to create cluster k8s
This commit is contained in:
parent
a9c26d97bb
commit
b9c54eff60
43
main.tf
43
main.tf
@ -1,43 +0,0 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
scaleway = {
|
||||
source = "scaleway/scaleway"
|
||||
}
|
||||
}
|
||||
required_version = ">= 0.13"
|
||||
}
|
||||
|
||||
resource "scaleway_k8s_cluster" "terraform-test" {
|
||||
name = "terraform-test"
|
||||
version = "1.24.3"
|
||||
cni = "cilium"
|
||||
project_id = "81af2696-6120-4f45-baf3-d17fb0525824"
|
||||
region = "fr-par"
|
||||
}
|
||||
|
||||
resource "scaleway_k8s_pool" "john" {
|
||||
cluster_id = scaleway_k8s_cluster.terraform-test.id
|
||||
name = "john"
|
||||
node_type = "DEV1-M"
|
||||
size = 1
|
||||
}
|
||||
|
||||
resource "null_resource" "kubeconfig" {
|
||||
depends_on = [scaleway_k8s_pool.john] # at least one pool here
|
||||
triggers = {
|
||||
host = scaleway_k8s_cluster.terraform-test.kubeconfig[0].host
|
||||
token = scaleway_k8s_cluster.terraform-test.kubeconfig[0].token
|
||||
cluster_ca_certificate = scaleway_k8s_cluster.terraform-test.kubeconfig[0].cluster_ca_certificate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
provider "kubernetes" {
|
||||
load_config_file = "false"
|
||||
|
||||
host = null_resource.kubeconfig.triggers.host
|
||||
token = null_resource.kubeconfig.triggers.token
|
||||
cluster_ca_certificate = base64decode(
|
||||
null_resource.kubeconfig.triggers.cluster_ca_certificate
|
||||
)
|
||||
}
|
@ -1,24 +1,15 @@
|
||||
---
|
||||
# tasks file for scaleway-k8s
|
||||
|
||||
- name: Create directory terraform
|
||||
- name: Create directory {{ project_terraform }}
|
||||
file:
|
||||
path: /home/valentin/terraform
|
||||
path: "{{ project_terraform }}"
|
||||
state: directory
|
||||
|
||||
- name: Copy main.tf
|
||||
template:
|
||||
src: main.tf.j2
|
||||
dest: /home/valentin/terraform/main.tf
|
||||
|
||||
- name: Plan terraform
|
||||
community.general.terraform:
|
||||
project_path: '{{ project_terraform }}'
|
||||
state: planned
|
||||
register: output
|
||||
environment:
|
||||
SCW_ACCESS_KEY: "{{ scw_access_key }}"
|
||||
SCW_SECRET_KEY: "{{ scw_secret_key }}"
|
||||
dest: "{{ project_terraform }}/main.tf"
|
||||
|
||||
|
||||
- name: display plan terraform
|
||||
@ -29,8 +20,13 @@
|
||||
community.general.terraform:
|
||||
project_path: '{{ project_terraform }}'
|
||||
state: present
|
||||
force_init: yes
|
||||
environment:
|
||||
SCW_ACCESS_KEY: "{{ scw_access_key }}"
|
||||
SCW_SECRET_KEY: "{{ scw_secret_key }}"
|
||||
register: output
|
||||
|
||||
- name: display terraform result
|
||||
debug:
|
||||
var: output
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
scaleway = {
|
||||
source = "scaleway/scaleway"
|
||||
}
|
||||
}
|
||||
required_version = ">= 0.13"
|
||||
}
|
||||
|
||||
|
||||
resource "scaleway_k8s_cluster" "{{ project_name }}" {
|
||||
name = "{{ project_name }}"
|
||||
version = "1.24.3"
|
||||
cni = "cilium"
|
||||
project_id = "{{ project_id }}"
|
||||
region = "{{ region_k8s }}"
|
||||
}
|
||||
|
||||
resource "scaleway_k8s_pool" "john" {
|
||||
cluster_id = scaleway_k8s_cluster.{{ project_name }}.id
|
||||
name = "john"
|
||||
node_type = "DEV1-M"
|
||||
size = 1
|
||||
}
|
||||
|
||||
resource "null_resource" "kubeconfig" {
|
||||
depends_on = [scaleway_k8s_pool.john] # at least one pool here
|
||||
triggers = {
|
||||
host = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].host
|
||||
token = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].token
|
||||
cluster_ca_certificate = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].cluster_ca_certificate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
provider "kubernetes" {
|
||||
load_config_file = "false"
|
||||
|
||||
host = null_resource.kubeconfig.triggers.host
|
||||
token = null_resource.kubeconfig.triggers.token
|
||||
cluster_ca_certificate = base64decode(
|
||||
null_resource.kubeconfig.triggers.cluster_ca_certificate
|
||||
)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user