vultr / docker-machine-driver-vultr Goto Github PK
View Code? Open in Web Editor NEWVultr Driver Plugin for Docker Machine
License: MIT License
Vultr Driver Plugin for Docker Machine
License: MIT License
Describe the bug
Node provisioning using Rancher RKE and Vultr docker-machine driver fails with certificate validation error
To Reproduce
Import the latest Vultr docker-machine driver into Rancher (current release v2.1.0)
Create some node template (used one attached)
Try to spin up a cluster using Vultr as provider (one node acting as etcd, control plane and worker is enough for testing)
--> Compute resource gets created, OS is successfully installed, SSH connection gets established to install the Docker Runtime
but fails afterward, validating the previously copied certs
--> Rancher UI shows error:
Error checking the host: Error checking and/or regenerating the certs: There was an error validating certificates for host "80.240.20.22:2376": dial tcp 80.240.20.22:2376: i/o timeout
--> Rancher Server Log shows error:
2023/11/13 08:51:52 [INFO] [node-controller-rancher-machine] The default lines below are for a sh/bash shell, you can specify the shell you're using, with the --shell flag. 2023/11/13 08:51:52 [INFO] [node-controller-rancher-machine] 2023/11/13 08:51:52 [INFO] Generating and uploading node config vultr-fra-dev-rt7-01-wrk1 2023/11/13 08:51:52 [DEBUG] getNodeTemplate parsed [cattle-global-nt:nt-vq94x] to ns: [cattle-global-nt] and n: [nt-vq94x] 2023/11/13 08:51:52 [DEBUG] Cleaning up [/opt/jail/c-rg7nj/management-state/node/nodes/vultr-fra-dev-rt7-01-wrk1] 2023/11/13 08:51:52 [ERROR] error syncing 'c-rg7nj/m-twnxp': handler node-controller: Error creating machine: Error checking the host: Error checking and/or regenerating the certs: There was an error validating certificates for host "209.250.239.253:2376": dial tcp 209.250.239.253:2376: i/o timeout, requeuing 2023/11/13 08:51:52 [DEBUG] [nodepool] bad node found: m-twnxp
Used Environment:
Additional context
Vultr Ticket Number: #RCS-91QFV --> requested to open an issue in this project
vultrMasterNodeTemplate.json
vultrRKETemplateRancher259.json
vultrRKETemplateRancher271.json
After creating a cluster with one or more node pools, the nodes in the pools keep the taint "node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule" and therefor are not usable for normal workloads without taint toleration.
Also, the deployed Vultr CCM can not create a new Load Balancer due to the fact that it misses a ProviderID.
By searching for a solution for the first issue I stumbled upon some similar cases on vSphere and OpenStack clusters, where in both cases it seemed that the Docker Machine Driver which was used, did not return the required ProviderID.
Rancher v2.5.9
K8s: v1.20.11
Vultr Docker Machine Driver v1.2.0
Vultr CCM v0.10.0
Used RKE Template:
vultr_rke_template.yml.json
Used Node Template:
vultr_node_template.json
EDIT
found on another Node from a different provider the following k/v in the node spec
providerId": "digitalocean://379349108",
So this is simply missing on the Vultr Nodes.
See also:
here
Describe the bug
I am trying to use docker-machine to spin up a vultr instance but it never fully finishes. It gets stuck at the "(vultr) waiting for server state to become 'ok'..." stage. On the vultr panel I can see the instance did actually spin up fully but docker-machine doesn't seem to think so. I run into this issue even using the very basic example from the docs.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
For docker-machine to finish and the instance show up as a docker container
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information where applicable:
Additional context
Docker-machine output:
PS C:\Users\Tanner\go\src\github.com\vultr\docker-machine-driver-vultr> docker-machine.exe --debug create -d vultr --vultr-api-key=****** vultr
Docker Machine Version: 0.12.2, build 9371605
Found binary path at C:\Users\Tanner\go\bin\docker-machine-driver-vultr.exe
Launching plugin server for driver vultr
Plugin server listening at address 127.0.0.1:61773
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at C:\Users\Tanner\go\bin\docker-machine-driver-vultr.exe
Launching plugin server for driver vultr
Plugin server listening at address 127.0.0.1:61775
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(vultr) Calling .GetMachineName
(vultr) Calling .DriverName
(vultr) Calling .GetCreateFlags
(vultr) Calling .SetConfigFromFlags
Running pre-create checks...
(vultr) Calling .PreCreateCheck
(vultr) Calling .GetConfigRaw
Creating machine...
(vultr) Calling .Create
(vultr) DBG | Generating SSH key...
(vultr) waiting for ip address to become available...
(vultr) Created Vultr VPS with ID: 42476196, Public IP: 207.246.87.6
(vultr) waiting for server state to become 'ok'...
docker-machine ls output:
PS C:\Users\Tanner> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
job - vultr Error Unknown Invalid server.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.