diff --git a/Dockerfile b/Dockerfile index c9612c9..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 KUBECTL_VERSION=1.27.9 -ARG TERRAFORM_VERSION=1.6.6-* +ARG HELM_VERSION=3.14.2 +ARG KUBECTL_VERSION=1.27.11 +ARG TERRAFORM_VERSION=1.7.4-* WORKDIR /build diff --git a/docs/CONFIG-VARS.md b/docs/CONFIG-VARS.md index 036f178..a3a4328 100644 --- a/docs/CONFIG-VARS.md +++ b/docs/CONFIG-VARS.md @@ -69,11 +69,11 @@ 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_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.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. | @@ -297,7 +297,7 @@ Each server element, like `foo = {}`, can contain none, some, or all of the para | server_memory | Memory in MB | number | 16385 | | | server_disk_size | Size of disk in GB | number | 250 | | | server_ip | Static IP address for PostgreSQL server | string | | This is a required field. | -| server_version | The version of the PostgreSQL server | string | "13" | Refer to the [SAS Viya platform System Requirements](https://documentation.sas.com/?cdcId=sasadmincdc&cdcVersion=default&docsetId=itopssr&docsetTarget=p05lfgkwib3zxbn1t6nyihexp12n.htm#p1wq8ouke3c6ixn1la636df9oa1u) for the supported versions of PostgreSQL for the SAS Viya platform. | +| server_version | The version of the PostgreSQL server | string | "15" | Refer to the [SAS Viya platform System Requirements](https://documentation.sas.com/?cdcId=sasadmincdc&cdcVersion=default&docsetId=itopssr&docsetTarget=p05lfgkwib3zxbn1t6nyihexp12n.htm#p1wq8ouke3c6ixn1la636df9oa1u) for the supported versions of PostgreSQL for the SAS Viya platform. | | server_ssl | Enable/disable SSL | string | "off" | | | server_ssl_cert_file | Path to the PostgreSQL SSL certificate file | string | "" | If `server_ssl` is enabled and this variable is not defined, the system default SSL certificate is used. | | server_ssl_key_file | Path to the PostgreSQL SSL key file | string | "" | If `server_ssl` is enabled and this variable is not defined, the system default SSL key is used. | @@ -326,7 +326,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "10.10.10.11" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "on" # SSL flag server_ssl_cert_file = "./ssl_cert.pem" # Path to the PostgreSQL SSL certificate file server_ssl_key_file = "./ssl_cert.key" # Path to the PostgreSQL SSL key file @@ -353,16 +353,16 @@ 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" | | -| 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 5ed36a6..a73dd16 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -171,7 +171,7 @@ This section provides an example configuration based on the physical-machine and ### vCenter/vSphere Sample tfvars File -If you are creating virtual machines with vCenter or vSphere, the terraform .tfvars file that you create will generate the required inventory and ansible-vars.yaml files for a SAS Viya platform deployment using the tools in the [viya4-deployment](https://github.com/sassoftware/viya4-deployment) repository. +If you are creating virtual machines with vCenter or vSphere, based on the values from the `terraform.tfvars` file that you create and the resulting infrastructure, this project will generate the required `inventory` and `ansible-vars.yaml` files for use with the `setup` and `install` actions executed by the `oss-k8s.sh` script For this example, the network setup is as follows: @@ -203,17 +203,17 @@ 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_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" @@ -377,7 +377,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "10.18.0.14" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password @@ -460,7 +460,7 @@ nfs_server [viya4_oss_default_pgsql] 192.168.5.0 [viya4_oss_default_pgsql:vars] -postgres_server_version=12 +postgres_server_version=15 postgres_server_ssl=off # NOTE: Values - [on,off] postgres_administrator_login="postgres" # NOTE: Do not change this value at this time postgres_administrator_password="Un33d2ChgM3n0W!" @@ -489,7 +489,7 @@ ansible_user : "" ansible_password : "" # VM items -vm_os : "ubuntu" # Choices : [ubuntu|rhel] - Ubuntu 22.04 LTS / Red Hat Enterprise Linux ??? +vm_os : "ubuntu" # Choices : [ubuntu] - Ubuntu 22.04 LTS vm_arch : "amd64" # Choices : [amd64] - 64-bit OS / ??? # System items @@ -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 : "" @@ -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/docs/user/Dependencies.md b/docs/user/Dependencies.md index 4e86936..a43814d 100644 --- a/docs/user/Dependencies.md +++ b/docs/user/Dependencies.md @@ -4,26 +4,26 @@ 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.4 | +| pip | openshift | 0.13.2 | +| pip | kubernetes | 27.2.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 | +| 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 @@ -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/bare-metal/sample-ansible-vars.yaml b/examples/bare-metal/sample-ansible-vars.yaml index 565b9dd..e3a7793 100644 --- a/examples/bare-metal/sample-ansible-vars.yaml +++ b/examples/bare-metal/sample-ansible-vars.yaml @@ -3,7 +3,7 @@ ansible_user : "" ansible_password : "" # VM items -vm_os : "ubuntu" # Choices : [ubuntu|rhel] - Ubuntu 22.04 LTS / RHEL ??? +vm_os : "ubuntu" # Choices : [ubuntu] - Ubuntu 22.04 LTS vm_arch : "amd64" # Choices : [amd64] - 64-bit OS / ??? # System items @@ -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 b23e647..5c15b52 100644 --- a/examples/vsphere/sample-terraform-dhcp.tfvars +++ b/examples/vsphere/sample-terraform-dhcp.tfvars @@ -18,17 +18,17 @@ 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_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 = "" @@ -196,7 +196,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password diff --git a/examples/vsphere/sample-terraform-minimal.tfvars b/examples/vsphere/sample-terraform-minimal.tfvars index 057db17..d45063c 100644 --- a/examples/vsphere/sample-terraform-minimal.tfvars +++ b/examples/vsphere/sample-terraform-minimal.tfvars @@ -18,17 +18,17 @@ 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_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 = "" @@ -157,7 +157,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password diff --git a/examples/vsphere/sample-terraform-static-ips.tfvars b/examples/vsphere/sample-terraform-static-ips.tfvars index 820bc21..a9effc3 100644 --- a/examples/vsphere/sample-terraform-static-ips.tfvars +++ b/examples/vsphere/sample-terraform-static-ips.tfvars @@ -18,17 +18,17 @@ 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_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 = "" @@ -197,7 +197,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password diff --git a/examples/vsphere/sample-terraform-static-singlestore.tfvars b/examples/vsphere/sample-terraform-static-singlestore.tfvars index 729a59a..e27b1a9 100644 --- a/examples/vsphere/sample-terraform-static-singlestore.tfvars +++ b/examples/vsphere/sample-terraform-static-singlestore.tfvars @@ -18,17 +18,17 @@ 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_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 = "" @@ -223,7 +223,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password diff --git a/examples/vsphere/sample-terraform-vi.tfvars b/examples/vsphere/sample-terraform-vi.tfvars index cdc8983..fde1002 100644 --- a/examples/vsphere/sample-terraform-vi.tfvars +++ b/examples/vsphere/sample-terraform-vi.tfvars @@ -18,17 +18,17 @@ 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_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 = "" @@ -150,7 +150,7 @@ postgres_servers = { server_memory = 16384 # 16 GB server_disk_size = 250 # 256 GB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag administrator_login = "postgres" # PostgreSQL admin user - CANNOT BE CHANGED administrator_password = "my$up3rS3cretPassw0rd" # PostgreSQL admin user password diff --git a/requirements.txt b/requirements.txt index ee93d96..f624c7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ # # 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.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.1 # 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 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 diff --git a/roles/kubernetes/common/tasks/main.yaml b/roles/kubernetes/common/tasks/main.yaml index 91992f8..016f638 100644 --- a/roles/kubernetes/common/tasks/main.yaml +++ b/roles/kubernetes/common/tasks/main.yaml @@ -175,3 +175,4 @@ ansible.builtin.reboot: tags: - install + when: inventory_hostname in groups["k8s"] 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..03f86c6 100644 --- a/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml +++ b/roles/kubernetes/loadbalancer/metallb/defaults/main.yaml @@ -7,8 +7,8 @@ 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_KUBE_CONFIG: ~/.kube/config +METALLB_CHART_VERSION: 0.14.3 +METALLB_KUBE_CONFIG: "{{ ansible_env.HOME }}/.kube/config" METALLB_CONFIG: controller: tolerations: 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 diff --git a/templates/ansible/ansible-vars.yaml.tmpl b/templates/ansible/ansible-vars.yaml.tmpl index 990eed9..1dae88b 100644 --- a/templates/ansible/ansible-vars.yaml.tmpl +++ b/templates/ansible/ansible-vars.yaml.tmpl @@ -3,7 +3,7 @@ ansible_user : "${ ansible_user }" ansible_password : "${ ansible_password }" # VM items -vm_os : "ubuntu" # Choices : [ubuntu|rhel] - Ubuntu 22.04 LTS / RHEL ??? +vm_os : "ubuntu" # Choices : [ubuntu] - Ubuntu 22.04 LTS vm_arch : "amd64" # Choices : [amd64] - 64-bit OS / ??? # System items diff --git a/variables.tf b/variables.tf index 330273d..ad5cb38 100644 --- a/variables.tf +++ b/variables.tf @@ -246,7 +246,7 @@ variable "postgres_server_defaults" { server_memory = 16384 # 16 GiB server_disk_size = 250 # 250 GiB server_ip = "" # Assigned values for static IPs - server_version = 13 # PostgreSQL version + server_version = 15 # PostgreSQL version server_ssl = "off" # SSL flag server_ssl_cert_file = "" # PostgreSQL SSL certificate file server_ssl_key_file = "" # PostgreSQL SSL key file @@ -297,7 +297,7 @@ variable "cluster_domain" { variable "cluster_version" { type = string - default = "1.27.9" + default = "1.27.11" } variable "cluster_cni" { @@ -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" {