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
|
# tasks file for scaleway-k8s
|
||||||
|
|
||||||
- name: Create directory terraform
|
- name: Create directory {{ project_terraform }}
|
||||||
file:
|
file:
|
||||||
path: /home/valentin/terraform
|
path: "{{ project_terraform }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Copy main.tf
|
- name: Copy main.tf
|
||||||
template:
|
template:
|
||||||
src: main.tf.j2
|
src: main.tf.j2
|
||||||
dest: /home/valentin/terraform/main.tf
|
dest: "{{ project_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 }}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: display plan terraform
|
- name: display plan terraform
|
||||||
@ -29,8 +20,13 @@
|
|||||||
community.general.terraform:
|
community.general.terraform:
|
||||||
project_path: '{{ project_terraform }}'
|
project_path: '{{ project_terraform }}'
|
||||||
state: present
|
state: present
|
||||||
|
force_init: yes
|
||||||
environment:
|
environment:
|
||||||
SCW_ACCESS_KEY: "{{ scw_access_key }}"
|
SCW_ACCESS_KEY: "{{ scw_access_key }}"
|
||||||
SCW_SECRET_KEY: "{{ scw_secret_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