From 05ec109a89c24ddcfe7848b2b1a4df19b5c17570 Mon Sep 17 00:00:00 2001 From: jarpat Date: Mon, 26 Feb 2024 11:09:07 -0500 Subject: [PATCH 1/8] update kubectl and kubernetes versions --- Dockerfile | 2 +- docs/CONFIG-VARS.md | 4 ++-- docs/REQUIREMENTS.md | 2 +- docs/user/Dependencies.md | 2 +- examples/vsphere/sample-terraform-dhcp.tfvars | 2 +- examples/vsphere/sample-terraform-minimal.tfvars | 2 +- examples/vsphere/sample-terraform-static-ips.tfvars | 2 +- examples/vsphere/sample-terraform-static-singlestore.tfvars | 2 +- examples/vsphere/sample-terraform-vi.tfvars | 2 +- variables.tf | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index c9612c9..7dec014 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ RUN apt-get update && apt-get upgrade -y --no-install-recommends \ # Layers used for building/downloading/installing tools FROM baseline as tool_builder ARG HELM_VERSION=3.13.2 -ARG KUBECTL_VERSION=1.27.9 +ARG KUBECTL_VERSION=1.27.11 ARG TERRAFORM_VERSION=1.6.6-* WORKDIR /build diff --git a/docs/CONFIG-VARS.md b/docs/CONFIG-VARS.md index 22d4e0d..587e75e 100644 --- a/docs/CONFIG-VARS.md +++ b/docs/CONFIG-VARS.md @@ -69,7 +69,7 @@ Terraform input variables can be set in the following ways: | Name | Description | Type | Default | Notes | | :--- | :--- | :--- | :--- | :--- | -| cluster_version | Kubernetes version | string | "1.27.9" | Valid values are listed here: [SAS Viya platform Supported Kubernetes Versions](https://documentation.sas.com/?cdcId=itopscdc&cdcVersion=default&docsetId=itopssr&docsetTarget=n1ika6zxghgsoqn1mq4bck9dx695.htm#p03v0o4maa8oidn1awe0w4xlxcf6). | +| cluster_version | Kubernetes version | string | "1.27.11" | Valid values are listed here: [SAS Viya platform Supported Kubernetes Versions](https://documentation.sas.com/?cdcId=itopscdc&cdcVersion=default&docsetId=itopssr&docsetTarget=n1ika6zxghgsoqn1mq4bck9dx695.htm#p03v0o4maa8oidn1awe0w4xlxcf6). | | cluster_cni | Kubernetes container network interface (CNI) | string | "calico" | | | cluster_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.0" | | | cluster_cri | Kubernetes container runtime interface (CRI) | string | "containerd" | | @@ -353,7 +353,7 @@ The following variables are used to describe the machine targets for the SAS Viy | prefix | A prefix used in the names of all the resources created by this script | string | | | | deployment_type | Type of deployment to be performed | string | "bare_metal" | Specify `bare_metal` or `vsphere`. | | kubernetes_cluster_name | Cluster name | string | "{{ prefix }}-oss" | This item is auto-filled. **ONLY** change the `prefix` value described previously. | -| kubernetes_version | Kubernetes version | string | "1.27.9" | Valid values are listed here: [Kubernetes Releases](https://kubernetes.io/releases/). | +| kubernetes_version | Kubernetes version | string | "1.27.11" | Valid values are listed here: [Kubernetes Releases](https://kubernetes.io/releases/). | | kubernetes_upgrade_allowed | | bool | true | **NOTE:** Not currently used. | | kubernetes_arch | | string | "{{ vm_arch }}" | This item is auto-filled. **ONLY** change the `vm_arch` value described previously. | | kubernetes_cni | Kubernetes Container Network Interface (CNI) | string | "calico" | | diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md index bd0c7bd..6c9c9bb 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -203,7 +203,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh" # Directory holding public keys to be used on each machine # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes version +cluster_version = "1.27.11" # Kubernetes version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/docs/user/Dependencies.md b/docs/user/Dependencies.md index 4e86936..275e897 100644 --- a/docs/user/Dependencies.md +++ b/docs/user/Dependencies.md @@ -53,7 +53,7 @@ Example of using build arguments to control specific versions of dependencies in ```bash # Override kubectl version docker build \ - --build-arg KUBECTL_VERSION=1.27.9 \ + --build-arg KUBECTL_VERSION=1.27.11 \ -t viya4-iac-k8s . ``` diff --git a/examples/vsphere/sample-terraform-dhcp.tfvars b/examples/vsphere/sample-terraform-dhcp.tfvars index 27a4a5a..ec44d23 100644 --- a/examples/vsphere/sample-terraform-dhcp.tfvars +++ b/examples/vsphere/sample-terraform-dhcp.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-minimal.tfvars b/examples/vsphere/sample-terraform-minimal.tfvars index acfe1bc..3de765c 100644 --- a/examples/vsphere/sample-terraform-minimal.tfvars +++ b/examples/vsphere/sample-terraform-minimal.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-static-ips.tfvars b/examples/vsphere/sample-terraform-static-ips.tfvars index ac19a1d..00940f9 100644 --- a/examples/vsphere/sample-terraform-static-ips.tfvars +++ b/examples/vsphere/sample-terraform-static-ips.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-static-singlestore.tfvars b/examples/vsphere/sample-terraform-static-singlestore.tfvars index 53bb5d5..1196190 100644 --- a/examples/vsphere/sample-terraform-static-singlestore.tfvars +++ b/examples/vsphere/sample-terraform-static-singlestore.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-vi.tfvars b/examples/vsphere/sample-terraform-vi.tfvars index cf168b8..d55db2a 100644 --- a/examples/vsphere/sample-terraform-vi.tfvars +++ b/examples/vsphere/sample-terraform-vi.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.9" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/variables.tf b/variables.tf index 9cbf566..ca7b567 100644 --- a/variables.tf +++ b/variables.tf @@ -297,7 +297,7 @@ variable "cluster_domain" { variable "cluster_version" { type = string - default = "1.27.9" + default = "1.27.11" } variable "cluster_cni" { From 1749e0223e829ed26af97e0ad13398904c955530 Mon Sep 17 00:00:00 2001 From: jarpat Date: Mon, 26 Feb 2024 11:11:01 -0500 Subject: [PATCH 2/8] spacing --- docs/REQUIREMENTS.md | 2 +- examples/vsphere/sample-terraform-dhcp.tfvars | 2 +- examples/vsphere/sample-terraform-minimal.tfvars | 2 +- examples/vsphere/sample-terraform-static-ips.tfvars | 2 +- examples/vsphere/sample-terraform-static-singlestore.tfvars | 2 +- examples/vsphere/sample-terraform-vi.tfvars | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md index 6c9c9bb..bcd0ff4 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -203,7 +203,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh" # Directory holding public keys to be used on each machine # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes version +cluster_version = "1.27.11" # Kubernetes version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-dhcp.tfvars b/examples/vsphere/sample-terraform-dhcp.tfvars index ec44d23..dbfc1a6 100644 --- a/examples/vsphere/sample-terraform-dhcp.tfvars +++ b/examples/vsphere/sample-terraform-dhcp.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-minimal.tfvars b/examples/vsphere/sample-terraform-minimal.tfvars index 3de765c..c4d7c20 100644 --- a/examples/vsphere/sample-terraform-minimal.tfvars +++ b/examples/vsphere/sample-terraform-minimal.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-static-ips.tfvars b/examples/vsphere/sample-terraform-static-ips.tfvars index 00940f9..77769ba 100644 --- a/examples/vsphere/sample-terraform-static-ips.tfvars +++ b/examples/vsphere/sample-terraform-static-ips.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-static-singlestore.tfvars b/examples/vsphere/sample-terraform-static-singlestore.tfvars index 1196190..27a3de7 100644 --- a/examples/vsphere/sample-terraform-static-singlestore.tfvars +++ b/examples/vsphere/sample-terraform-static-singlestore.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) diff --git a/examples/vsphere/sample-terraform-vi.tfvars b/examples/vsphere/sample-terraform-vi.tfvars index d55db2a..a918011 100644 --- a/examples/vsphere/sample-terraform-vi.tfvars +++ b/examples/vsphere/sample-terraform-vi.tfvars @@ -18,7 +18,7 @@ vsphere_network = "" # Name of the network to to use for the VMs system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system # Kubernetes - Cluster -cluster_version = "1.27.11" # Kubernetes Version +cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) From 3553915c2c69189c69b5d80132b208bc1758dcc7 Mon Sep 17 00:00:00 2001 From: jarpat Date: Mon, 26 Feb 2024 11:14:52 -0500 Subject: [PATCH 3/8] bump helm and terraform versions --- Dockerfile | 4 ++-- docs/REQUIREMENTS.md | 4 ++-- roles/kubernetes/common/defaults/main.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7dec014..ab00e5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,9 +8,9 @@ RUN apt-get update && apt-get upgrade -y --no-install-recommends \ # Layers used for building/downloading/installing tools FROM baseline as tool_builder -ARG HELM_VERSION=3.13.2 +ARG HELM_VERSION=3.14.2 ARG KUBECTL_VERSION=1.27.11 -ARG TERRAFORM_VERSION=1.6.6-* +ARG TERRAFORM_VERSION=1.7.4-* WORKDIR /build diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md index bcd0ff4..74a5558 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -672,6 +672,6 @@ The third-party applications that are listed in the following table are supporte | Application | Minimum Version | | ---: | ---: | | [Ansible](https://www.ansible.com/) | Core 2.16.1 | -| [Terraform](https://www.terraform.io/) | 1.6.6 | +| [Terraform](https://www.terraform.io/) | 1.7.4 | | [Docker](https://www.docker.com/) | 20.10.17 | -| [Helm](https://helm.sh/) | 3.13.2 | +| [Helm](https://helm.sh/) | 3.14.2 | diff --git a/roles/kubernetes/common/defaults/main.yaml b/roles/kubernetes/common/defaults/main.yaml index 2daaa94..c231791 100644 --- a/roles/kubernetes/common/defaults/main.yaml +++ b/roles/kubernetes/common/defaults/main.yaml @@ -2,4 +2,4 @@ # SPDX-License-Identifier: Apache-2.0 --- -helm_version: 3.13.2 +helm_version: 3.14.2 From 74acf97d72f270d98c798f3388f02e30641874eb Mon Sep 17 00:00:00 2001 From: jarpat Date: Mon, 26 Feb 2024 15:51:42 -0500 Subject: [PATCH 4/8] python and ansible deps --- docs/user/Dependencies.md | 39 +++++++++++++++++++-------------------- requirements.txt | 7 +++---- requirements.yaml | 11 ++++++----- 3 files changed, 28 insertions(+), 29 deletions(-) diff --git a/docs/user/Dependencies.md b/docs/user/Dependencies.md index 275e897..116120d 100644 --- a/docs/user/Dependencies.md +++ b/docs/user/Dependencies.md @@ -4,26 +4,25 @@ The following table details our dependencies and versions (~ indicates multiple For dependency installation instructions and sources, links have been provided in the table below: -| SOURCE | NAME | VERSION | -|----------------|------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------| -| ~ | [python](https://www.python.org/downloads/) | >=3.10 | -| ~ | [pip](https://packaging.python.org/en/latest/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers) | >=22.0 | -| ~ | [terraform](https://www.terraform.io/downloads) | >=1.4.5 | -| ~ | [docker](https://docs.docker.com/engine/install/) | >=20.10.17 | -| ~ | [helm](https://helm.sh/docs/intro/install/) | >=3 | -| ~ | [kubectl](https://kubernetes.io/docs/tasks/tools/) | 1.26 - 1.28 | -| ~ | [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | any | -| ~ | [jq](https://jqlang.github.io/jq/download/) | >=1.6 | -| pip | ansible | 9.1.0 (ansible core v2.16.1) | -| pip | openshift | 0.13.1 | -| pip | kubernetes | 26.1.0 | -| pip | dnspython | 2.3.0 | -| pip | jmespath | 1.0.1 | -| ansible-galaxy | community.general | 5.6.0 | -| ansible-galaxy | community.postgresql | 2.2.0 | -| ansible-galaxy | kubernetes.core | 2.3.2 | -| ansible-galaxy | ansible.posix | 1.4.0 | -| ansible-galaxy | ansible.utils | 2.6.1 | +| SOURCE | NAME | VERSION | +|----------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------| +| ~ | [python](https://www.python.org/downloads/) | >=3.10 | +| ~ | [pip](https://packaging.python.org/en/latest/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers) | >=22.0 | +| ~ | [terraform](https://www.terraform.io/downloads) | >=1.4.5 | +| ~ | [docker](https://docs.docker.com/engine/install/) | >=20.10.17 | +| ~ | [helm](https://helm.sh/docs/intro/install/) | >=3 | +| ~ | [kubectl](https://kubernetes.io/docs/tasks/tools/) | 1.26 - 1.28 | +| ~ | [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | any | +| ~ | [jq](https://jqlang.github.io/jq/download/) | >=1.6 | +| pip | ansible-core | 2.16.3 | +| pip | kubernetes | 27.2.0 | +| pip | dnspython | 2.6.0 | +| pip | jmespath | 1.0.1 | +| ansible-galaxy | community.general | 8.4.0 | +| ansible-galaxy | community.postgresql | 3.3.0 | +| ansible-galaxy | kubernetes.core | 2.4.0 | +| ansible-galaxy | ansible.posix | 1.5.4 | +| ansible-galaxy | ansible.utils | 2.12.0 | Python dependencies can be installed via `pip` using the `requirements.txt` provided in this project diff --git a/requirements.txt b/requirements.txt index ee93d96..645c667 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,7 @@ # # Reference : pypi.org # -ansible==9.1.0 # 8.6.0 # 8.0.0 # 6.4.0 # 5.5.0 # 2.10.7 -openshift==0.13.1 # 0.12.0 -kubernetes==26.1.0 # 24.2.0 # 23.3.0 # 12.0.1 -dnspython==2.3.0 # 2.2.1 # 2.1.0 +ansible-core==2.16.3 +kubernetes==27.2.0 # 26.1.0 # 24.2.0 # 23.3.0 # 12.0.1 +dnspython==2.6.0 # 2.3.0 # 2.2.1 # 2.1.0 jmespath==1.0.1 # 1.0.0 diff --git a/requirements.yaml b/requirements.yaml index b18cf14..cf553dd 100644 --- a/requirements.yaml +++ b/requirements.yaml @@ -1,12 +1,13 @@ --- collections: - name: community.general - version: 5.6.0 # 5.5.0 4.8.0 # 4.2.0 + version: 8.4.0 # 5.6.0 # 5.5.0 4.8.0 # 4.2.0 + # The collections below are all included in community.general - name: community.postgresql - version: 2.2.0 # 1.7.2 # 1.7.1 + version: 3.3.0 # 2.2.0 # 1.7.2 # 1.7.1 - name: kubernetes.core # community.kubernetes - version: 2.3.2 # 2.3.0 # 1.2.1, 2.2.2 + version: 2.4.0 # 2.3.2 # 2.3.0 # 1.2.1, 2.2.2 - name: ansible.posix - version: 1.4.0 # 1.3.0 + version: 1.5.4 # 1.4.0 # 1.3.0 - name: ansible.utils - version: 2.6.1 # 2.6.0 # 2.3.0 + version: 2.12.0 # 2.6.1 # 2.6.0 # 2.3.0 From edbd72224e1db336f4a9783f436fd5706ff5b146 Mon Sep 17 00:00:00 2001 From: jarpat Date: Tue, 27 Feb 2024 10:10:21 -0500 Subject: [PATCH 5/8] bump calico, containerd, kube-vip, & metallb --- docs/CONFIG-VARS.md | 12 ++++++------ docs/REQUIREMENTS.md | 12 ++++++------ examples/bare-metal/sample-ansible-vars.yaml | 6 +++--- examples/vsphere/sample-terraform-dhcp.tfvars | 6 +++--- examples/vsphere/sample-terraform-minimal.tfvars | 6 +++--- examples/vsphere/sample-terraform-static-ips.tfvars | 6 +++--- .../sample-terraform-static-singlestore.tfvars | 6 +++--- examples/vsphere/sample-terraform-vi.tfvars | 6 +++--- roles/kubernetes/cri/containerd/defaults/main.yaml | 2 +- .../loadbalancer/metallb/defaults/main.yaml | 2 +- variables.tf | 6 +++--- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/CONFIG-VARS.md b/docs/CONFIG-VARS.md index 587e75e..a279d4f 100644 --- a/docs/CONFIG-VARS.md +++ b/docs/CONFIG-VARS.md @@ -71,9 +71,9 @@ Terraform input variables can be set in the following ways: | :--- | :--- | :--- | :--- | :--- | | cluster_version | Kubernetes version | string | "1.27.11" | Valid values are listed here: [SAS Viya platform Supported Kubernetes Versions](https://documentation.sas.com/?cdcId=itopscdc&cdcVersion=default&docsetId=itopssr&docsetTarget=n1ika6zxghgsoqn1mq4bck9dx695.htm#p03v0o4maa8oidn1awe0w4xlxcf6). | | cluster_cni | Kubernetes container network interface (CNI) | string | "calico" | | -| cluster_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.0" | | +| cluster_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.2" | | | cluster_cri | Kubernetes container runtime interface (CRI) | string | "containerd" | | -| cluster_cri_version | Version of the CRI specifed by `cluster_cri` to be installed | string | "1.6.26" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | +| cluster_cri_version | Version of the CRI specifed by `cluster_cri` to be installed | string | "1.6.28" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | | cluster_service_subnet | Kubernetes service subnet | string | "10.43.0.0/16" | | | cluster_pod_subnet | Kubernetes pod subnet | string | "10.42.0.0/16" | | | cluster_domain | Cluster domain suffix for DNS | string | | | @@ -82,7 +82,7 @@ Terraform input variables can be set in the following ways: | Name | Description | Type | Default | Notes | | :--- | :--- | :--- | :--- | :--- | -| cluster_vip_version | kube-vip version | string | "0.5.7" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.5.7. | +| cluster_vip_version | kube-vip version | string | "0.7.1" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.7.1. | | cluster_vip_ip | kube-vip IP address | string | | IP address assigned to the FQDN value. You must access the cluster via the FQDN value supplied. | | cluster_vip_fqdn | kube-vip DNS | string | | FQDN used in the creation of the kubeconfig file, which is used to access the cluster. | @@ -357,12 +357,12 @@ The following variables are used to describe the machine targets for the SAS Viy | kubernetes_upgrade_allowed | | bool | true | **NOTE:** Not currently used. | | kubernetes_arch | | string | "{{ vm_arch }}" | This item is auto-filled. **ONLY** change the `vm_arch` value described previously. | | kubernetes_cni | Kubernetes Container Network Interface (CNI) | string | "calico" | | -| kubernetes_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.0" | | +| kubernetes_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.2" | | | kubernetes_cri | Kubernetes Container Runtime Interface (CRI) | string | "containerd" | | -| kubernetes_cri_version | Version of the CRI specifed by `kubernetes_cri` to be installed | string | "1.6.26" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | | +| kubernetes_cri_version | Version of the CRI specifed by `kubernetes_cri` to be installed | string | "1.6.28" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | | | kubernetes_service_subnet | Kubernetes service subnet | string | "10.43.0.0/16" | | | kubernetes_pod_subnet | Kubernetes pod subnet | string | "10.42.0.0/16" | | -| kubernetes_vip_version | kube-vip version | string | "0.5.7" | | +| kubernetes_vip_version | kube-vip version | string | "0.7.1" | | | kubernetes_vip_ip | kube-vip IP address | string | | | | kubernetes_vip_fqdn | kube-vip DNS | string | | | | kubernetes_loadbalancer | Load balancer provider | string | "kube_vip" | Choices are `kube_vip` or `metallb`. | diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md index 74a5558..a73dd16 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -205,15 +205,15 @@ system_ssh_keys_dir = "~/.ssh" # Directory holding public keys to be used on eac # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.35.0.0/16" # Kubernetes service subnet cluster_pod_subnet = "10.36.0.0/16" # Kubernetes Pod subnet cluster_domain = "sample.domain.foo.com" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "10.18.0.175" cluster_vip_fqdn = "vm-dev-oss-vip.sample.domain.foo.com" @@ -510,9 +510,9 @@ kubernetes_version : "" kubernetes_upgrade_allowed : true kubernetes_arch : "{{ vm_arch }}" kubernetes_cni : "calico" # Choices : [calico] -kubernetes_cni_version : "3.27.0" # Choices : [3.27.0] +kubernetes_cni_version : "3.27.2" # Choices : [3.27.2] kubernetes_cri : "containerd" # Choices : [containerd] -kubernetes_cri_version : "1.6.26" # Choices : [1.6.26] +kubernetes_cri_version : "1.6.28" # Choices : [1.6.28] kubernetes_service_subnet : "" kubernetes_pod_subnet : "" @@ -524,7 +524,7 @@ kubernetes_pod_subnet : "" # VIP IP : https://kube-vip.io/docs/installation/static/ # VIP Cloud Provider IP Range : https://kube-vip.io/docs/usage/cloud-provider/#the-kube-vip-cloud-provider-configmap # -kubernetes_vip_version : "0.5.7" +kubernetes_vip_version : "0.7.1" kubernetes_vip_ip : "" kubernetes_vip_fqdn : "" diff --git a/examples/bare-metal/sample-ansible-vars.yaml b/examples/bare-metal/sample-ansible-vars.yaml index f8f611f..e3a7793 100644 --- a/examples/bare-metal/sample-ansible-vars.yaml +++ b/examples/bare-metal/sample-ansible-vars.yaml @@ -24,9 +24,9 @@ kubernetes_version : "" kubernetes_upgrade_allowed : true kubernetes_arch : "{{ vm_arch }}" kubernetes_cni : "calico" # Choices : [calico] -kubernetes_cni_version : "3.27.0" # Choices : [3.27.0] +kubernetes_cni_version : "3.27.2" # Choices : [3.27.2] kubernetes_cri : "containerd" # Choices : [containerd] -kubernetes_cri_version : "1.6.26" # Choices : [1.6.26] +kubernetes_cri_version : "1.6.28" # Choices : [1.6.28] kubernetes_service_subnet : "" kubernetes_pod_subnet : "" @@ -36,7 +36,7 @@ kubernetes_pod_subnet : "" # # VIP IP : https://kube-vip.io/docs/installation/static/ # -kubernetes_vip_version : "0.5.7" +kubernetes_vip_version : "0.7.1" kubernetes_vip_ip : "" kubernetes_vip_fqdn : "" diff --git a/examples/vsphere/sample-terraform-dhcp.tfvars b/examples/vsphere/sample-terraform-dhcp.tfvars index dbfc1a6..5c15b52 100644 --- a/examples/vsphere/sample-terraform-dhcp.tfvars +++ b/examples/vsphere/sample-terraform-dhcp.tfvars @@ -20,15 +20,15 @@ system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet cluster_domain = "" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "" cluster_vip_fqdn = "" diff --git a/examples/vsphere/sample-terraform-minimal.tfvars b/examples/vsphere/sample-terraform-minimal.tfvars index c4d7c20..d45063c 100644 --- a/examples/vsphere/sample-terraform-minimal.tfvars +++ b/examples/vsphere/sample-terraform-minimal.tfvars @@ -20,15 +20,15 @@ system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet cluster_domain = "" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "" cluster_vip_fqdn = "" diff --git a/examples/vsphere/sample-terraform-static-ips.tfvars b/examples/vsphere/sample-terraform-static-ips.tfvars index 77769ba..a9effc3 100644 --- a/examples/vsphere/sample-terraform-static-ips.tfvars +++ b/examples/vsphere/sample-terraform-static-ips.tfvars @@ -20,15 +20,15 @@ system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet cluster_domain = "" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "" cluster_vip_fqdn = "" diff --git a/examples/vsphere/sample-terraform-static-singlestore.tfvars b/examples/vsphere/sample-terraform-static-singlestore.tfvars index 27a3de7..e27b1a9 100644 --- a/examples/vsphere/sample-terraform-static-singlestore.tfvars +++ b/examples/vsphere/sample-terraform-static-singlestore.tfvars @@ -20,15 +20,15 @@ system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet cluster_domain = "" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "" cluster_vip_fqdn = "" diff --git a/examples/vsphere/sample-terraform-vi.tfvars b/examples/vsphere/sample-terraform-vi.tfvars index a918011..fde1002 100644 --- a/examples/vsphere/sample-terraform-vi.tfvars +++ b/examples/vsphere/sample-terraform-vi.tfvars @@ -20,15 +20,15 @@ system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on # Kubernetes - Cluster cluster_version = "1.27.11" # Kubernetes Version cluster_cni = "calico" # Kubernetes Container Network Interface (CNI) -cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version +cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI) -cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version +cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet cluster_domain = "" # Cluster domain suffix for DNS # Kubernetes - Cluster VIP -cluster_vip_version = "0.5.7" +cluster_vip_version = "0.7.1" cluster_vip_ip = "" cluster_vip_fqdn = "" diff --git a/roles/kubernetes/cri/containerd/defaults/main.yaml b/roles/kubernetes/cri/containerd/defaults/main.yaml index 04f502d..d60bd03 100644 --- a/roles/kubernetes/cri/containerd/defaults/main.yaml +++ b/roles/kubernetes/cri/containerd/defaults/main.yaml @@ -11,5 +11,5 @@ # Focal 20 https://download.docker.com/linux/ubuntu/dists/focal/stable/binary-amd64/ # On that page select "Packages" and the text file that is downloaded will contain all the versions of # containerd available in the repository. -kubernetes_cri_version: "1.6.26" +kubernetes_cri_version: "1.6.28" kubernetes_cri_deb_rev: "" diff --git a/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml b/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml index fe199cf..4067070 100644 --- a/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml +++ b/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml @@ -7,7 +7,7 @@ METALLB_NAME: metallb METALLB_NAMESPACE: kube-system METALLB_CHART_NAME: metallb METALLB_CHART_URL: https://metallb.github.io/metallb -METALLB_CHART_VERSION: 0.13.7 +METALLB_CHART_VERSION: 0.14.3 METALLB_KUBE_CONFIG: ~/.kube/config METALLB_CONFIG: controller: diff --git a/variables.tf b/variables.tf index ca7b567..ad5cb38 100644 --- a/variables.tf +++ b/variables.tf @@ -307,7 +307,7 @@ variable "cluster_cni" { variable "cluster_cni_version" { type = string - default = "3.27.0" + default = "3.27.2" } variable "cluster_cri" { @@ -317,7 +317,7 @@ variable "cluster_cri" { variable "cluster_cri_version" { type = string - default = "1.6.26" + default = "1.6.28" } variable "cluster_service_subnet" { @@ -332,7 +332,7 @@ variable "cluster_pod_subnet" { variable "cluster_vip_version" { type = string - default = "0.5.7" + default = "0.7.1" } variable "cluster_vip_ip" { From 3b1ddbe9580beaa90df45e5e2c556cf944e5a847 Mon Sep 17 00:00:00 2001 From: jarpat Date: Tue, 27 Feb 2024 10:59:28 -0500 Subject: [PATCH 6/8] metrics server and python deps --- docs/user/Dependencies.md | 5 +++-- requirements.txt | 5 +++-- roles/kubernetes/metrics/metrics-server/defaults/main.yaml | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/user/Dependencies.md b/docs/user/Dependencies.md index 116120d..a43814d 100644 --- a/docs/user/Dependencies.md +++ b/docs/user/Dependencies.md @@ -14,9 +14,10 @@ For dependency installation instructions and sources, links have been provided i | ~ | [kubectl](https://kubernetes.io/docs/tasks/tools/) | 1.26 - 1.28 | | ~ | [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | any | | ~ | [jq](https://jqlang.github.io/jq/download/) | >=1.6 | -| pip | ansible-core | 2.16.3 | +| pip | ansible-core | 2.16.4 | +| pip | openshift | 0.13.2 | | pip | kubernetes | 27.2.0 | -| pip | dnspython | 2.6.0 | +| pip | dnspython | 2.6.1 | | pip | jmespath | 1.0.1 | | ansible-galaxy | community.general | 8.4.0 | | ansible-galaxy | community.postgresql | 3.3.0 | diff --git a/requirements.txt b/requirements.txt index 645c667..f624c7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,8 @@ # # Reference : pypi.org # -ansible-core==2.16.3 +ansible-core==2.16.4 +openshift==0.13.2 # 0.13.1 # 0.12.0 # 0.12.0 kubernetes==27.2.0 # 26.1.0 # 24.2.0 # 23.3.0 # 12.0.1 -dnspython==2.6.0 # 2.3.0 # 2.2.1 # 2.1.0 +dnspython==2.6.1 # 2.3.0 # 2.2.1 # 2.1.0 jmespath==1.0.1 # 1.0.0 diff --git a/roles/kubernetes/metrics/metrics-server/defaults/main.yaml b/roles/kubernetes/metrics/metrics-server/defaults/main.yaml index 736c751..d5c701b 100644 --- a/roles/kubernetes/metrics/metrics-server/defaults/main.yaml +++ b/roles/kubernetes/metrics/metrics-server/defaults/main.yaml @@ -7,7 +7,7 @@ METRICS_SERVER_NAME: metrics-server METRICS_SERVER_NAMESPACE: kube-system METRICS_SERVER_CHART_NAME: metrics-server METRICS_SERVER_CHART_URL: https://kubernetes-sigs.github.io/metrics-server/ -METRICS_SERVER_CHART_VERSION: 3.11.0 +METRICS_SERVER_CHART_VERSION: 3.12.0 METRICS_SERVER_CONFIG: apiService: create: true From c137a20925fc9a114e8face10d3023c0e54871f1 Mon Sep 17 00:00:00 2001 From: jarpat Date: Wed, 28 Feb 2024 15:02:59 -0500 Subject: [PATCH 7/8] doc fix --- docs/CONFIG-VARS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONFIG-VARS.md b/docs/CONFIG-VARS.md index a279d4f..a3a4328 100644 --- a/docs/CONFIG-VARS.md +++ b/docs/CONFIG-VARS.md @@ -82,7 +82,7 @@ Terraform input variables can be set in the following ways: | Name | Description | Type | Default | Notes | | :--- | :--- | :--- | :--- | :--- | -| cluster_vip_version | kube-vip version | string | "0.7.1" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.7.1. | +| cluster_vip_version | kube-vip version | string | "0.7.1" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.5.7. | | cluster_vip_ip | kube-vip IP address | string | | IP address assigned to the FQDN value. You must access the cluster via the FQDN value supplied. | | cluster_vip_fqdn | kube-vip DNS | string | | FQDN used in the creation of the kubeconfig file, which is used to access the cluster. | From b8e3bbfa12d40ecfffb610c82392109a7b08d3b7 Mon Sep 17 00:00:00 2001 From: jarpat Date: Thu, 29 Feb 2024 14:29:07 -0500 Subject: [PATCH 8/8] update METALLB_KUBE_CONFIG default --- roles/kubernetes/loadbalancer/metallb/defaults/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml b/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml index 4067070..03f86c6 100644 --- a/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml +++ b/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml @@ -8,7 +8,7 @@ METALLB_NAMESPACE: kube-system METALLB_CHART_NAME: metallb METALLB_CHART_URL: https://metallb.github.io/metallb METALLB_CHART_VERSION: 0.14.3 -METALLB_KUBE_CONFIG: ~/.kube/config +METALLB_KUBE_CONFIG: "{{ ansible_env.HOME }}/.kube/config" METALLB_CONFIG: controller: tolerations: