Folositi K8s pentru a rula Terraform

NOTA: Experimentam activ acest lucru in aer liber. Luati in considerare acest software ALPHA si poate fi modificat.

Terraform-controller – Acesta este un instrument de nivel scazut pentru a rula module Terraform controlate de Git in Kubernetes. Controlerul gestioneaza fisierul de stare TF folosind Kubernetes ca backend de fisier de stat la distanta (necesita Terraform 0.13.4)! Puteti avea modificari aplicate automat sau puteti astepta un „OK” explicit inainte de a rula.

Exista doua parti ale stivei, controlerul si executorul.

Controlerul creeaza trei CRD-uri si ruleaza controlere pentru module si executii. Un modul este elementul de constructie si este la fel ca un modul de terraforma. Aceasta este mentionata dintr-o executie care este utilizata pentru a combina toate informatiile necesare pentru a rula Terraform. Executia combina variabilele Terraform si variabilele de mediu din secrete si / sau harti de configurare pentru a le furniza executantului.

Executorul este un job care ruleaza Terraform. Luand date de la executarea CRD, executorul executa terraform init, terraform plan si terraform create / destroy in functie de context.

Executiile au o relatie de la 1 la mai multi cu rularile de executie, deoarece actualizarile sau modificarile sunt facute in modul sau sunt executate rulari suplimentare pentru actualizarea resurselor de terraforma.

Utilizati manifestele furnizate kubectl create -f ./manifests pentru a fi implementate intr-un cluster k8s existent. Manifestele vor crea toate CRD-urile necesare si o implementare cu imaginea rancher / terraform-controller.

Verifica

~ kubectl get all -n terraform-controller NAME READY STATUS RESTARTS AGE pod / terraform-controller-8494cf85c5-x97sn 1/1 Running 0 17s NAME READY UP-TO-DATE DISPONIBIL AGE deployment.apps / terraform-controller 1/1 1 1 18s NUME DORITA CURENT READY AGE replicaset.apps / terraform-controller-8494cf85c5 1 1 1 18s

Spatiu de nume

Totul este plasat in spatiul de nume terraform-controller cu aceste manifeste furnizate. Editati metadata.namespace in fisiere pentru a schimba spatiul de nume sau eliminati pentru a rula in mod implicit. Va trebui sa actualizati argumentele pentru comanda din implementare pentru a actualiza sau elimina argumentul –namespace pentru executabil. Trecerea in steag limiteaza controlerul doar la vizionarea obiectelor CRD in spatiul sau de nume, eliminati acest parametru pentru a permite controlerului terraform sa vada toate obiectele CRD din orice spatiu de nume.

Quickstart Appliance + k3s

Utilizati (k3d) [https://github.com/rancher/k3d/releases] pentru a invarti clusterele mici (k3s) [https://github.com/rancher/k3s] pentru o pornire rapida a utilizarii controlerului Terraform. Imaginea aparatului este pre-construita impreuna cu manifestele de implementare si va crea automat tot ce are nevoie Terra Controller atunci cand pornesc.

~ k3d create –name terraform-controller –image rancher / terraform-controller-appliance ~ export KUBECONFIG = “$ (k3d get-kubeconfig –name = ‘terraform-controller’)” ~ kubectl get all -n terraform-controller NUME READY STATUS RESTARTS AGE pod / terraform-controller-d774bbd44-w4mzk 0/1 In asteptare 0 1s NUME READY UP-TO-DATE DISPONIBIL AGE deployment.apps / terraform-controller 0/1 1 0 14s DENUMIRE CURENT READY AGE replicaset.apps / terraform-controller-d774bbd44 1 1 0 1s ~ kubectl get crd | grep terraformcontroller executionruns.terraformcontroller.cattle.io 2019-05-22T17: 19: 01Z executions.terraformcontroller.

videos de lucio saints incesto abuela y nieto
videos porno violada maduritas corriendose
maduras gordas desnudas ana marco primer anal
pajas entre colegas follando en un crucero
cincuentonas viejas en orgias
corridas a chorro peliculas eroticas gratis en español
abuelas incestos follando a mi hija
madres haciendo pajas a sus hijos follando con mirones
pajas pollones porno guarras españolas
maduras españolas anal porno obligado
cine porno español madres haciendo pajas a sus hijos
porno estremo rajas peludas
sin bragas en la calle ver peliculas de incesto
viejas feas videos incesto amateur
suegras peludas maduras follando en español
tetudas jovenes el mejor video porno
porno vitange meadas gay
videos guarros follar abuelas
colegialas cachondas ultimos videos faking
videos porno xxx incesto sara rossi fakings

cattle.io 2019-05-22T17: 19: 01Z modules.terraformcontroller.cattle.io 2019-05-22T17: 19: 01Z ~ k3d sterge –nume terraform

Cu controlerul care ruleaza, puteti rula exemplul furnizat in directorul ./example care va arata cum sa rulati un modul de baza Digital Ocean Terraform care ia un do_token si do_name si creeaza o picatura.

Modificati ./example/00-secret.yaml cu simbolul API Digital Ocean si numele dorit al picaturii.

Rulati kubectl create -f ./example -n terraform-controller pentru a crea toate envvars / secretele / modulul si executia care va rula automat. Controlerul creeaza joburi pentru Terraform ruleaza astfel incat sa acceseze jurnalele verificati jurnalele pod pentru executorul sa creeze si sa distruga joburi. Acest exemplu este configurat pentru a confirma si sterge automat cand obiectul CRD este distrus.

Stergeti picatura stergand CRD kubectl delete -f ./example/20-deployment.yaml -n terraform-controller.

Aprobarea unui plan

In ./example/20-state.yaml, acesta este preconfigurat pentru a aproba si sterge automat cand efectuati CRD de executie. Puteti dezactiva spec.destroyOnDelete si spec.autoConfirm si le puteti face manual facand urmatoarele.

Pentru a obtine planul, verificati jurnalele podurilor utilizate pentru a rula lucrarea. jurnale kubectl [nume-executor-pod] -n control-terraform

Presupunand ca actiunea pe care Terraform o va efectua este corecta adnotati Executia de executare pentru a aproba modificarile:

kubectl adnota executionruns.terraform-controller.cattle.io [executare-executare-nume] -n terraform-controller approbat = “da” –overwrite

Dupa finalizarea lucrarii, puteti vedea rezultatele de la Terraform verificand Executarea:

kubectl obtine executionruns.terraform-controller.cattle.io [executare-executare-nume] -n terraform-controller -o yaml

Cu destroyOnDelete dezactivat, va trebui sa stergeti picatura de mana, deoarece un job de distrugere nu va incepe.

Construirea unui mediu de executie personalizat

Creati un fisier Docker

FROM rancher / terraform-controller-executor: v0.0.3 #Ou oricare ar fi versiunea RUN curl https://myurl.com/get-some-binary

Construiti acea imagine si treceti la un registru.

Cand creati executia, definiti imaginea:

apiVersion: terraformcontroller.cattle.io/v1 kind: Metadate de executie: name: cluster-create spec: moduleName: cluster-modules destroyOnDelete: true autoConfirm: false image: cloudnautique / tf-executor-rancher2-provider: v0.0.3 # IMAGINE personalizata variabile: SecretNames: – my-secret envConfigNames: – env-config

Daca aveti deja o executie, editati CR prin kubectl si adaugati campul de imagine.

Cladire

face

Executie locala

Utilizati ./bin/terraform-controller

Rularea Executorului in Docker – Utila pentru testarea Executorului

docker run -d -v “/Path/To/Kubeconfig:/root/.kube/config” -e “KUBECONFIG = / root / .kube / config” -e “EXECUTOR_RUN_NAME = RUN_NAME” -e “EXECUTOR_ACTION = create” rancher / terraform-controller-executor: dev

Licenta

Copyright (c) 2019 Rancher Labs, Inc.

Licentiat sub licenta Apache, versiunea 2.0 („Licenta”); nu puteti utiliza acest fisier decat in ​​conformitate cu licenta. Puteti obtine o copie a Licentei la adresa

http://www.apache.org/licenses/LICENSE-2.0

Cu exceptia cazului in care legislatia aplicabila o impune sau se aproba in scris, software-ul distribuit in baza Licentei este distribuit pe „CA ATARE”, FARA GARANTII SAU CONDITII DE ORICE TIP, fie expres, fie implicit. Consultati licenta pentru limbajul specific care reglementeaza permisiunile si limitarile din licenta.