sguyennet / terraform-vsphere-kubespray

Deploy a Kubernetes HA cluster on VMware vSphere
https://blog.inkubate.io/install-and-manage-automatically-a-kubernetes-cluster-on-vmware-vsphere-with-terraform-and-kubespray/
Apache License 2.0
172 stars 88 forks source link

Upgrading the cluster to a new version from v1.12.5 to v1.14.2 of Kubernetes fail #14

Closed mavenir closed 5 years ago

mavenir commented 5 years ago

Hello, I have encountered a failure when trying to upgrade K8S version, when following k8s installation document, section of upgrade k8s_version: "1- Edit the terraform.tfvars configuration file and modify the Kubernetes version. $ vim terraform.tfvars ... k8s_version = "v1.10.3" ... $ terraform apply -var 'action=upgrade'"

Please advise

sguyennet commented 5 years ago

Hi,

If you look at the Kubespray release page, you will see that each version of Kubespray support different versions of Kubernetes. Here is the upgrade path you have to follow to go from Kubernetes 1.12.5 to 1.14.1 (1.14.2 is not officially supported by Kubespray yet):

I just did a small modification of the code so it is easier to do an upgrade of Kubespray and Kubernetes at the same time.

Regards,

Simon.

mavenir commented 5 years ago

Hello Simon, Thanks for reply, I did install with according
below path (Kubespray 2.10.0 / Kubernetes 1.14.1) and it's work fine. Thanks a lot.

mavenir commented 5 years ago

Hi, Another question, k8s_ version is support downgrade too? Thanks

sguyennet commented 5 years ago

Hi, I never tried it, so I cannot confirm you will not have issue regarding this. Regards, Simon.

mavenir commented 5 years ago

Hi, Thanks for update. BY

mavenir commented 5 years ago

Hi Simon, I try to run "terraform plan" command and I get below error, Please advise.

terraform plan

var.vm_privilege_password Sudo or su password for the vSphere virtual machines

Enter a value: mavenir

Error: Unsupported block type

on vsphere-kubespray.tf line 49, in data "template_file" "kubespray_all": 49: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Error: Unsupported block type

on vsphere-kubespray.tf line 65, in data "template_file" "kubespray_k8s_cluster": 65: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Error: Unsupported block type

on vsphere-kubespray.tf line 78, in data "template_file" "haproxy_hosts": 78: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Error: Unsupported block type

on vsphere-kubespray.tf line 89, in data "template_file" "kubespray_hosts_master": 89: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Error: Unsupported block type

on vsphere-kubespray.tf line 100, in data "template_file" "kubespray_hosts_worker": 100: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Error: Unsupported block type

on vsphere-kubespray.tf line 111, in data "template_file" "haproxy_hosts_list": 111: vars {

Blocks of type "vars" are not expected here. Did you mean to define argument "vars"? If so, use the equals sign to assign it a value.

Thanks

sguyennet commented 5 years ago

Please read the requirements. You are using the last version of Terraform (0.12) and the code is not compatible with it yet. Please downgrade to 0.11. I tested the downgrade of the cluster and it seems to work fine. Regards.

sguyennet commented 5 years ago

I just fixed the syntax issues to support Terraform 0.12. Please update the code and you should be fine. Regards, Simon.

mavenir commented 5 years ago

Hi Simon, Create, Thanks a lot

mavenir commented 5 years ago

Hi Simon, We have noticed that sometimes the installation fails just after deploying the first VMs. checking this shows that the virtual nic is not connected (check box is unmarked). connecting it manually , is solving the problem, letting us proceed with the terraform apply. as I said, this behavior is random. can you please check it. thanks

sguyennet commented 5 years ago

This is an issue with the Terraform vSphere provider. Just connect the network interface in your VM template to workaround this issue.

mavenir commented 5 years ago

Thanks for reply. We already did it but it still happened. Another question please. We want to create a deployments with single master without a proxy. How can we do it? Thanks