Skip to content

Commit

Permalink
chore 🧹: upgrade k8s to 1.31.0
Browse files Browse the repository at this point in the history
Signed-off-by: Victor Hang <[email protected]>
  • Loading branch information
Banh-Canh committed Oct 4, 2024
1 parent 20bd1f6 commit 47c66f9
Show file tree
Hide file tree
Showing 8 changed files with 112 additions and 12 deletions.
1 change: 0 additions & 1 deletion .github/workflows/build-frieren.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,5 @@ jobs:
- name: Build
run: nix-build '<nixpkgs/nixos>' -A config.system.build.toplevel -I nixos-config=profiles/frieren/configuration.nix
- name: Push
if: github.ref == 'refs/heads/main'
run: |
cachix push didactiklabs ./result
1 change: 0 additions & 1 deletion .github/workflows/build-gojo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,5 @@ jobs:
- name: Build
run: nix-build '<nixpkgs/nixos>' -A config.system.build.toplevel -I nixos-config=profiles/gojo/configuration.nix
- name: Push
if: github.ref == 'refs/heads/main'
run: |
cachix push didactiklabs ./result
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,37 @@ Install or upgrade with a simple command:
```bash
colmena apply
```

#### - Kubernetes

To upgrade kubernetes version you must do the following:

##### Upgrade the control plane and kubelet configs

Run this with this repo to update the pkgs pinning:

```bash
npins add --name kubeadm github kubernetes kubernetes --at v1.31.1
colmena apply
```

Then for the first controlplane:

```bash
colmena exec --on <cp0> "sudo kubeadm upgrade apply v1.31.1 -y"
```

Then for others and workers:

```bash
colmena exec --on <worker01>,<worker02> "sudo kubeadm upgrade node"
```

##### Upgrade kubelet

Now get back to the repo and run:

```bash
npins add --name kubelet github kubernetes kubernetes --at v1.31.1
colmena apply
```
22 changes: 21 additions & 1 deletion base.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@
let
sources = import ./npins;
pkgs = import sources.nixpkgs { };

kubernetesComponent =
component: source:
pkgs.kubernetes.overrideAttrs (oldAttrs: {
src = source;
components = [ component ];
});

# Define kubelet and kubeadm using the common function with different versions and hashes
kubelet = kubernetesComponent "cmd/kubelet" sources.kubelet;
kubeadm = kubernetesComponent "cmd/kubeadm" sources.kubeadm;

hostProfile = import ./profiles/${hostname} {
inherit
lib
Expand All @@ -22,7 +34,15 @@ in
./tools.nix
(import "${sources.nixbook}//nixosModules/caCertificates.nix")
./nixosModules/k3s
./nixosModules/kubernetes
(import ./nixosModules/kubernetes {
inherit
pkgs
config
lib
kubelet
kubeadm
;
})
(import ./nixosModules/networkManager.nix { inherit lib config pkgs; })
(import "${sources.home-manager}/nixos")
hostProfile
Expand Down
22 changes: 19 additions & 3 deletions nixosModules/kubernetes/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
config,
pkgs,
kubelet,
kubeadm,
lib,
...
}:
Expand All @@ -18,8 +20,22 @@ in
};
};
imports = [
./kubeadm.nix
./kubelet.nix
(import ./kubeadm.nix {
inherit
pkgs
kubeadm
config
lib
;
})
(import ./kubelet.nix {
inherit
pkgs
kubelet
config
lib
;
})
];
config = lib.mkIf cfg.kubernetes.enable {
system = {
Expand Down Expand Up @@ -100,7 +116,7 @@ in
"-/etc/sysconfig/kubelet"
];
ExecStart = [
"${pkgs.kubernetes}/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS"
"${kubelet}/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS"
];
};
wantedBy = [ "multi-user.target" ];
Expand Down
7 changes: 4 additions & 3 deletions nixosModules/kubernetes/kubeadm.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
config,
pkgs,
kubeadm,
lib,
...
}:
let
cfg = config.customNixOSModules;
kubeadm = pkgs.runCommand "get-kubeadm" { nativeBuildInputs = [ ]; } ''
kubeadm-bin = pkgs.runCommand "get-kubeadm" { nativeBuildInputs = [ ]; } ''
mkdir -p $out/bin
cp ${pkgs.kubernetes}/bin/kubeadm $out/bin/
cp ${kubeadm}/bin/kubeadm $out/bin/
'';
in
{
config = lib.mkIf cfg.kubernetes.enable { environment.systemPackages = [ kubeadm ]; };
config = lib.mkIf cfg.kubernetes.enable { environment.systemPackages = [ kubeadm-bin ]; };
}
7 changes: 4 additions & 3 deletions nixosModules/kubernetes/kubelet.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
config,
pkgs,
kubelet,
lib,
...
}:
let
cfg = config.customNixOSModules;
kubelet = pkgs.runCommand "get-kubelet" { nativeBuildInputs = [ ]; } ''
kubelet-bin = pkgs.runCommand "get-kubelet" { nativeBuildInputs = [ ]; } ''
mkdir -p $out/bin
cp ${pkgs.kubernetes}/bin/kubelet $out/bin/
cp ${kubelet}/bin/kubelet $out/bin/
'';
in
{
config = lib.mkIf cfg.kubernetes.enable { environment.systemPackages = [ kubelet ]; };
config = lib.mkIf cfg.kubernetes.enable { environment.systemPackages = [ kubelet-bin ]; };
}
30 changes: 30 additions & 0 deletions npins/sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,36 @@
"url": "https://github.com/nix-community/home-manager/archive/2f23fa308a7c067e52dfcc30a0758f47043ec176.tar.gz",
"hash": "00wp0s9b5nm5rsbwpc1wzfrkyxxmqjwsc1kcibjdbfkh69arcpsn"
},
"kubeadm": {
"type": "GitRelease",
"repository": {
"type": "GitHub",
"owner": "kubernetes",
"repo": "kubernetes"
},
"pre_releases": false,
"version_upper_bound": null,
"release_prefix": null,
"version": "v1.31.1",
"revision": "4190e7226e6c56f2317388e88511f3f73cfbe29c",
"url": "https://api.github.com/repos/kubernetes/kubernetes/tarball/v1.31.1",
"hash": "09gx0hd2aisk0y3pih7vx5c5s4kk9x9fzmgqsxd4pq52cqsds8aq"
},
"kubelet": {
"type": "GitRelease",
"repository": {
"type": "GitHub",
"owner": "kubernetes",
"repo": "kubernetes"
},
"pre_releases": false,
"version_upper_bound": null,
"release_prefix": null,
"version": "v1.31.0",
"revision": "e73bd2e33f000c5a2886771e712d6c90796a4873",
"url": "https://api.github.com/repos/kubernetes/kubernetes/tarball/v1.31.0",
"hash": "1p0vgjw56x3sbkzg888p4xxzp1133rsmh1pkarb6rkrffbrbfbiv"
},
"nixbook": {
"type": "Git",
"repository": {
Expand Down

0 comments on commit 47c66f9

Please sign in to comment.