X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=src%2Ffoundation%2Fmicrok8s%2Fmain.tf;h=e71d42aa9afc224c20cd80a969163a402049c294;hb=b01bce6165ef8368a607e17e1f3d4697b79db31b;hp=ea33da55eac9028d5d00bec293b8217239e8fa61;hpb=d22c2adbe3588e17b03225718b526c03aad3b2f8;p=iec.git diff --git a/src/foundation/microk8s/main.tf b/src/foundation/microk8s/main.tf index ea33da5..e71d42a 100644 --- a/src/foundation/microk8s/main.tf +++ b/src/foundation/microk8s/main.tf @@ -17,11 +17,12 @@ resource "aws_instance" "master" { apt install snapd -y >> microk8s_install.log snap install core >> microk8s_install.log export PATH=$PATH:/snap/bin - snap install microk8s --classic >> microk8s_install.log + snap install microk8s --classic --channel=1.21 >> microk8s_install.log microk8s status --wait-ready microk8s enable dns >> microk8s_install.log + microk8s enable storage >> microk8s_install.log microk8s add-node > microk8s.join_token - microk8s config > configFile + microk8s config > configFile-master EOF key_name = "terraform" tags = { @@ -32,7 +33,7 @@ resource "aws_instance" "master" { "sudo sed -i 's/#MOREIPS/IP.7 = ${self.public_ip}\\n#MOREIPS/g' /var/snap/microk8s/current/certs/csr.conf.template", "sudo sleep 1m", "sudo microk8s stop", - "sudo microk8s start" + "sudo microk8s start", ] } @@ -46,10 +47,12 @@ resource "aws_instance" "master" { provisioner "local-exec" { command = <> ~/.ssh/known_hosts scp -i terraform.pem ubuntu@${self.public_dns}:/microk8s.join_token . tail -n1 microk8s.join_token >> token - scp -i terraform.pem ubuntu@${self.public_dns}:/configFile . + scp -i terraform.pem ubuntu@${self.public_dns}:/configFile-master . EOT } @@ -122,7 +125,43 @@ resource "aws_instance" "worker" { } -output "master_ip" { +resource "null_resource" "cluster" { + provisioner "remote-exec" { + inline = ["sudo microk8s kubectl get no >> kubectl.info"] + } + + connection { + host = aws_instance.master.public_ip + type = "ssh" + user = "ubuntu" + password = "" + private_key = "${file("terraform.pem")}" + } + + provisioner "local-exec" { + command = <> ~/.ssh/known_hosts + scp -i terraform.pem ubuntu@${aws_instance.worker.public_dns}:/configFile-worker . + EOT + } + + lifecycle { + create_before_destroy = true + } + + depends_on = [ + aws_instance.worker, + ] +} + +output "public_ip" { value = aws_instance.master.public_ip } +output "private_ip" { + value = aws_instance.master.private_ip +} +