Skip to content

Commit

Permalink
kubernetes 1.30
Browse files Browse the repository at this point in the history
Signed-off-by: Maksim Paskal <[email protected]>
  • Loading branch information
maksim-paskal committed Oct 3, 2024
1 parent 922d375 commit 9487fd4
Show file tree
Hide file tree
Showing 12 changed files with 241 additions and 13 deletions.
16 changes: 14 additions & 2 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
on:
workflow_dispatch:
inputs:
token:
hcloud_token:
description: 'Hetzner Cloud API token'
required: true
e2e_file_name:
description: 'Name of the e2e tests'
required: false
default: 'v1.30*'
debug:
type: choice
description: 'Debug mode'
required: false
options: ['true', 'false']
default: 'false'

jobs:
e2e:
Expand All @@ -17,4 +27,6 @@ jobs:
- run: ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
- run: make e2e branch=${{ github.base_ref || github.ref_name }}
env:
HCLOUD_TOKEN: ${{ github.event.inputs.token }}
HCLOUD_TOKEN: ${{ github.event.inputs.hcloud_token }}
E2E_FILE_NAME: ${{ github.event.inputs.e2e_file_name }}
DEBUG: ${{ github.event.inputs.debug }}
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ test:
CONFIG=config_test.yaml go test -race -coverprofile coverage.out ./cmd/... ./pkg/...
.PHONY: e2e
e2e:
GIT_BRANCH=$(branch) go test -v -count=1 -timeout=4h ./e2e/e2e_test.go
HCLOUD_CTL_BRANCH=$(branch) go test -v -count=1 -timeout=4h ./e2e/e2e_test.go
update-readme:
go run ./utils/main.go
coverage:
go tool cover -html=coverage.out
create-cluster:
make test
make delete-cluster
go run -race ./cmd -config=$(config) -action=create -log.level=DEBUG
HCLOUD_CTL_BRANCH=$(branch) go run -race ./cmd -config=$(config) -action=create -log.level=DEBUG
delete-cluster:
go run -race ./cmd -config=$(config) -action=delete -log.level=DEBUG
patch-cluster:
Expand Down
112 changes: 112 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,118 @@ cluster-autoscaler:
maxSize: 20
```
</details>
<details><summary>Kubernetes: v1.30, Arch: amd64, Ubuntu: 20.04, Region: eu</summary>
```yaml
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1

```
</details>
<details><summary>Kubernetes: v1.30, Arch: amd64, Ubuntu: 20.04, Region: us</summary>

```yaml
ipRange: "10.0.0.0/16"
masterCount: 3
networkZone: us-east
location: ash
datacenter: ash-dc1
masterServers:
servertype: cpx21
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
cluster-autoscaler:
autoscalingGroups:
- name: CPX51:ASH:cpx51-ash
minSize: 1
maxSize: 20
```
</details>
<details><summary>Kubernetes: v1.30, Arch: amd64, Ubuntu: 22.04, Region: eu</summary>
```yaml
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-22.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1

```
</details>
<details><summary>Kubernetes: v1.30, Arch: arm64, Ubuntu: 20.04, Region: eu</summary>

```yaml
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: arm
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
masterServers:
servertype: cax11
cluster-autoscaler:
autoscalingGroups:
- name: CAX41:FSN1:cax-fsn1
minSize: 1
maxSize: 20
```
</details>
<details><summary>Kubernetes: v1.30, Arch: arm64, Ubuntu: 22.04, Region: eu</summary>
```yaml
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-22.04
architecture: arm
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
masterServers:
servertype: cax11
cluster-autoscaler:
autoscalingGroups:
- name: CAX41:FSN1:cax-fsn1
minSize: 1
maxSize: 20

```
</details>

<!--- move_e2e_details_end -->

Expand Down
13 changes: 13 additions & 0 deletions e2e/configs/v1.30-amd64-ubuntu-20.04-eu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Kubernetes v1.30 in Europe
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
23 changes: 23 additions & 0 deletions e2e/configs/v1.30-amd64-ubuntu-20.04-us.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Kubernetes v1.30 in US East
ipRange: "10.0.0.0/16"
masterCount: 3
networkZone: us-east
location: ash
datacenter: ash-dc1
masterServers:
servertype: cpx21
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
cluster-autoscaler:
autoscalingGroups:
- name: CPX51:ASH:cpx51-ash
minSize: 1
maxSize: 20
13 changes: 13 additions & 0 deletions e2e/configs/v1.30-amd64-ubuntu-22.04-eu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Kubernetes v1.30 in Europe (ARM64 architecture)
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-22.04
architecture: x86
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
20 changes: 20 additions & 0 deletions e2e/configs/v1.30-arm64-ubuntu-20.04-eu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Kubernetes v1.30 in Europe (ARM64 architecture)
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-20.04
architecture: arm
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
masterServers:
servertype: cax11
cluster-autoscaler:
autoscalingGroups:
- name: CAX41:FSN1:cax-fsn1
minSize: 1
maxSize: 20
20 changes: 20 additions & 0 deletions e2e/configs/v1.30-arm64-ubuntu-22.04-eu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Kubernetes v1.30 in Europe (ARM64 architecture)
ipRange: "10.0.0.0/16"
masterCount: 3
serverComponents:
ubuntu:
version: ubuntu-22.04
architecture: arm
kubernetes:
version: 1.30.5-1.1
docker:
version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs)
containerd:
version: 1.7.22-1
masterServers:
servertype: cax11
cluster-autoscaler:
autoscalingGroups:
- name: CAX41:FSN1:cax-fsn1
minSize: 1
maxSize: 20
13 changes: 10 additions & 3 deletions e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,16 @@ func Test(t *testing.T) { //nolint:funlen,paralleltest,cyclop

log.SetLevel(log.WarnLevel)

tests, err := filepath.Glob("./configs/*.yaml")
if os.Getenv("DEBUG") == "true" {
log.SetLevel(log.DebugLevel)
}

nameGlob := os.Getenv("E2E_FILE_NAME")
if nameGlob == "" {
nameGlob = "*"
}

tests, err := filepath.Glob("./configs/" + nameGlob + ".yaml")
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -97,8 +106,6 @@ func Test(t *testing.T) { //nolint:funlen,paralleltest,cyclop
},
}

config.SetBranch(os.Getenv("GIT_BRANCH"))

config.Get().Deployments = extraDeployments
config.Get().KubeConfigPath = tmpFile.Name()

Expand Down
14 changes: 8 additions & 6 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,13 @@ type clusterAutoscalingGroup struct {
MaxSize int `yaml:"maxSize"`
}

func getDefaultMasterServersInitParams(branch string) masterServersInitParams {
func getDefaultMasterServersInitParams() masterServersInitParams {
branch := "main"

if b := os.Getenv("HCLOUD_CTL_BRANCH"); len(b) > 0 {
branch = b
}

return masterServersInitParams{
TarGz: fmt.Sprintf("https://github.com/maksim-paskal/hcloud-k8s-ctl/archive/refs/heads/%s.tar.gz", branch),
Folder: "hcloud-k8s-ctl-" + branch,
Expand Down Expand Up @@ -188,10 +194,6 @@ var cliArguments = cliArgs{
CreateFirewallWorkers: flag.Bool("create-firewall.workers", false, "create firewall for workers"),
}

func SetBranch(branch string) {
config.MasterServers.ServersInitParams = getDefaultMasterServersInitParams(branch)
}

func defaultConfig() Type {
privateKey := "~/.ssh/id_rsa"
kubeConfigPath := "~/.kube/hcloud"
Expand Down Expand Up @@ -236,7 +238,7 @@ func defaultConfig() Type {
Labels: serverLabels,
WaitTimeInRetry: waitTimeInRetry,
RetryTimeLimit: retryTimeLimit,
ServersInitParams: getDefaultMasterServersInitParams("main"),
ServersInitParams: getDefaultMasterServersInitParams(),
},
MasterLoadBalancer: masterLoadBalancer{
LoadBalancerType: "lb11",
Expand Down
3 changes: 3 additions & 0 deletions scripts/common-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ EOF
cat <<EOF >/etc/apt/sources.list.d/kubernetes-v1.29.list
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /
EOF
cat <<EOF >/etc/apt/sources.list.d/kubernetes-v1.30.list
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /
EOF
cat <<EOF >/etc/apt/sources.list.d/docker.list
deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
EOF
Expand Down
3 changes: 3 additions & 0 deletions scripts/ubuntu-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ EOF
cat <<EOF >/etc/apt/sources.list.d/kubernetes-v1.29.list
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /
EOF
cat <<EOF >/etc/apt/sources.list.d/kubernetes-v1.30.list
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /
EOF
cat <<EOF >/etc/apt/sources.list.d/docker.list
deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
EOF
Expand Down

0 comments on commit 9487fd4

Please sign in to comment.