resource "null_resource" "waiter" {
for_each = {
for server in var.servers : server.name => server
}
depends_on = [hcloud_server_network.this]
provisioner "remote-exec" {
connection {
type = "ssh"
host = hcloud_server.this[each.key].ipv4_address
user = "root"
private_key = tls_private_key.this.private_key_pem
timeout = var.waiting_for_network
}
inline = [
"while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'Waiting for cloud-init...'; sleep 1; done;",
"while [ ! -S /var/run/docker.sock ]; do echo 'Waiting for docker.sock...'; sleep 1; done;",
"while [ ! -S /run/containerd/containerd.sock ]; do echo 'Waiting for containerd.sock...'; sleep 1; done;",
]
}
}
The main part of log
....
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"]: Still creating... [1m10s elapsed]
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"] (remote-exec): Waiting for cloud-init...
module.terraform-hetzner-kubernetes.module.hcloud.null_resource.waiter["k8s-nbg1-master-1"]: Creation complete after 1m16s [id=8937222847915215564]
Error:
============= RKE outputs ==============
time="2021-03-18T13:36:25+03:00" level=info msg="[rke_provider] rke cluster changed arguments: map[addons:true addons_include:true cluster_name:true ingress:true kubernetes_version:true network:true nodes:true ssh_agent_auth:true]"
time="2021-03-18T13:36:25+03:00" level=info msg="Creating RKE cluster..."
time="2021-03-18T13:36:25+03:00" level=info msg="Initiating Kubernetes cluster"
time="2021-03-18T13:36:25+03:00" level=info msg="[dialer] Setup tunnel for host [135.181.201.197]"
time="2021-03-18T13:36:25+03:00" level=info msg="[dialer] Setup tunnel for host [135.181.97.222]"
time="2021-03-18T13:36:27+03:00" level=warning msg="Failed to set up SSH tunneling for host [135.181.201.197]: Can't retrieve Docker Info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"
time="2021-03-18T13:36:30+03:00" level=warning msg="Failed to set up SSH tunneling for host [135.181.97.222]: Can't retrieve Docker Info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"
time="2021-03-18T13:36:30+03:00" level=warning msg="Removing host [135.181.201.197] from node lists"
time="2021-03-18T13:36:30+03:00" level=warning msg="Removing host [135.181.97.222] from node lists"
time="2021-03-18T13:36:30+03:00" level=warning msg="[state] can't fetch legacy cluster state from Kubernetes: Cluster must have at least one etcd plane host: failed to connect to the following etcd host(s) []"
time="2021-03-18T13:36:30+03:00" level=info msg="[certificates] Generating CA kubernetes certificates"
time="2021-03-18T13:36:30+03:00" level=info msg="[certificates] Generating Kubernetes API server aggregation layer requestheader client CA certificates"
time="2021-03-18T13:36:30+03:00" level=info msg="[certificates] GenerateServingCertificate is disabled, checking if there are unused kubelet certificates"
time="2021-03-18T13:36:30+03:00" level=info msg="[certificates] Generating Kubernetes API server certificates"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Service account token key"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Kube Controller certificates"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Kube Scheduler certificates"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Kube Proxy certificates"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Node certificate"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating admin certificates and kubeconfig"
time="2021-03-18T13:36:31+03:00" level=info msg="[certificates] Generating Kubernetes API server proxy client certificates"
time="2021-03-18T13:36:32+03:00" level=info msg="Successfully Deployed state file at [/Users/a0s/my/oh_my_product_infra/cluster/terraform-provider-rke-tmp-174243540/cluster.rkestate]"
time="2021-03-18T13:36:32+03:00" level=info msg="Building Kubernetes cluster"
Failed running cluster err:Cluster must have at least one etcd plane host: please specify one or more etcd in cluster config
========================================
What else i can check? How to emulate this step (Can't retrieve Docker Info: error during connect: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info\": Failed to dial ssh using address) in terraform?
I have issue similar to https://github.com/rancher/terraform-provider-rke/issues/139 and https://github.com/rancher/terraform-provider-rke/issues/9
Versions:
rke config
My cloud init is
After it i am waiting sockets in null_resource
The main part of log
What else i can check? How to emulate this step (
Can't retrieve Docker Info: error during connect: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info\": Failed to dial ssh using address
) in terraform?