Merge 265fe839a8
into 52eb26dad1
commit
2101562dff
|
@ -19,10 +19,10 @@ Kubernetes The Hard Way guides you through bootstrapping a basic Kubernetes clus
|
||||||
|
|
||||||
Component versions:
|
Component versions:
|
||||||
|
|
||||||
* [kubernetes](https://github.com/kubernetes/kubernetes) v1.32.x
|
* [kubernetes](https://github.com/kubernetes/kubernetes) v1.33.x
|
||||||
* [containerd](https://github.com/containerd/containerd) v2.1.x
|
* [containerd](https://github.com/containerd/containerd) v2.0.x
|
||||||
* [cni](https://github.com/containernetworking/cni) v1.6.x
|
* [cni](https://github.com/containernetworking/cni) v1.7.x
|
||||||
* [etcd](https://github.com/etcd-io/etcd) v3.6.x
|
* [etcd](https://github.com/etcd-io/etcd) v3.5.x
|
||||||
|
|
||||||
## Labs
|
## Labs
|
||||||
|
|
||||||
|
|
|
@ -52,20 +52,46 @@ pwd
|
||||||
|
|
||||||
In this section you will download the binaries for the various Kubernetes components. The binaries will be stored in the `downloads` directory on the `jumpbox`, which will reduce the amount of internet bandwidth required to complete this tutorial as we avoid downloading the binaries multiple times for each machine in our Kubernetes cluster.
|
In this section you will download the binaries for the various Kubernetes components. The binaries will be stored in the `downloads` directory on the `jumpbox`, which will reduce the amount of internet bandwidth required to complete this tutorial as we avoid downloading the binaries multiple times for each machine in our Kubernetes cluster.
|
||||||
|
|
||||||
The binaries that will be downloaded are listed in either the `downloads-amd64.txt` or `downloads-arm64.txt` file depending on your hardware architecture, which you can review using the `cat` command:
|
The binaries that will be downloaded are listed in `download-template.txt`, which is a template file that will match your system architecture and the latest software version. You can check it by the following command.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat downloads-$(dpkg --print-architecture).txt
|
cat downloads-template.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
Download the binaries into a directory called `downloads` using the `wget` command:
|
Download the binaries into a directory called `downloads` using the `wget` command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
{
|
||||||
|
export ARCH=$(dpkg --print-architecture)
|
||||||
|
echo $ARCH
|
||||||
|
|
||||||
|
export K8S_VERSION=$(curl -sSL https://dl.k8s.io/release/stable.txt)
|
||||||
|
echo "K8S Version: $K8S_VERSION"
|
||||||
|
|
||||||
|
export CRI_VERSION=$(wget -qO- https://api.github.com/repos/kubernetes-sigs/cri-tools/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
|
echo "CRI Version: $CRI_VERSION"
|
||||||
|
|
||||||
|
|
||||||
|
export RUNC_VERSION=$(wget -qO- https://api.github.com/repos/opencontainers/runc/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
|
echo "runc Version: $RUNC_VERSION"
|
||||||
|
|
||||||
|
export CNI_VERSION=$(wget -qO- https://api.github.com/repos/containernetworking/plugins/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
|
echo "cni Version: $CNI_VERSION"
|
||||||
|
|
||||||
|
export CONTAINERD_VERSION=$(wget -qO- https://api.github.com/repos/containerd/containerd/releases/latest | grep '"tag_name":' | sed -E 's/.*"v?([^"]+)".*/\1/')
|
||||||
|
echo "containerd Version: v$CONTAINERD_VERSION"
|
||||||
|
|
||||||
|
export ETCD_VERSION=$(wget -qO- https://api.github.com/repos/etcd-io/etcd/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
|
echo "etcd Version: $ETCD_VERSION"
|
||||||
|
|
||||||
|
envsubst < download-template.txt > download.txt
|
||||||
|
|
||||||
wget -q --show-progress \
|
wget -q --show-progress \
|
||||||
--https-only \
|
--https-only \
|
||||||
--timestamping \
|
--timestamping \
|
||||||
-P downloads \
|
-P downloads \
|
||||||
-i downloads-$(dpkg --print-architecture).txt
|
-i download.txt
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Depending on your internet connection speed it may take a while to download over `500` megabytes of binaries, and once the download is complete, you can list them using the `ls` command:
|
Depending on your internet connection speed it may take a while to download over `500` megabytes of binaries, and once the download is complete, you can list them using the `ls` command:
|
||||||
|
@ -78,20 +104,19 @@ Extract the component binaries from the release archives and organize them under
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
{
|
{
|
||||||
ARCH=$(dpkg --print-architecture)
|
|
||||||
mkdir -p downloads/{client,cni-plugins,controller,worker}
|
mkdir -p downloads/{client,cni-plugins,controller,worker}
|
||||||
tar -xvf downloads/crictl-v1.32.0-linux-${ARCH}.tar.gz \
|
tar -xvf downloads/crictl-${CRI_VERSION}-linux-${ARCH}.tar.gz \
|
||||||
-C downloads/worker/
|
-C downloads/worker/
|
||||||
tar -xvf downloads/containerd-2.1.0-beta.0-linux-${ARCH}.tar.gz \
|
tar -xvf downloads/containerd-${CONTAINERD_VERSION}-linux-${ARCH}.tar.gz \
|
||||||
--strip-components 1 \
|
--strip-components 1 \
|
||||||
-C downloads/worker/
|
-C downloads/worker/
|
||||||
tar -xvf downloads/cni-plugins-linux-${ARCH}-v1.6.2.tgz \
|
tar -xvf downloads/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz \
|
||||||
-C downloads/cni-plugins/
|
-C downloads/cni-plugins/
|
||||||
tar -xvf downloads/etcd-v3.6.0-rc.3-linux-${ARCH}.tar.gz \
|
tar -xvf downloads/etcd-${ETCD_VERSION}-linux-${ARCH}.tar.gz \
|
||||||
-C downloads/ \
|
-C downloads/ \
|
||||||
--strip-components 1 \
|
--strip-components 1 \
|
||||||
etcd-v3.6.0-rc.3-linux-${ARCH}/etcdctl \
|
etcd-${ETCD_VERSION}-linux-${ARCH}/etcdctl \
|
||||||
etcd-v3.6.0-rc.3-linux-${ARCH}/etcd
|
etcd-${ETCD_VERSION}-linux-${ARCH}/etcd
|
||||||
mv downloads/{etcdctl,kubectl} downloads/client/
|
mv downloads/{etcdctl,kubectl} downloads/client/
|
||||||
mv downloads/{etcd,kube-apiserver,kube-controller-manager,kube-scheduler} \
|
mv downloads/{etcd,kube-apiserver,kube-controller-manager,kube-scheduler} \
|
||||||
downloads/controller/
|
downloads/controller/
|
||||||
|
@ -107,9 +132,7 @@ rm -rf downloads/*gz
|
||||||
Make the binaries executable.
|
Make the binaries executable.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
{
|
|
||||||
chmod +x downloads/{client,cni-plugins,controller,worker}/*
|
chmod +x downloads/{client,cni-plugins,controller,worker}/*
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install kubectl
|
### Install kubectl
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kubectl
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kube-apiserver
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kube-controller-manager
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kube-scheduler
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kube-proxy
|
||||||
|
https://dl.k8s.io/${K8S_VERSION}/bin/linux/${ARCH}/kubelet
|
||||||
|
https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRI_VERSION}/crictl-${CRI_VERSION}-linux-${ARCH}.tar.gz
|
||||||
|
https://github.com/opencontainers/runc/releases/download/${RUNC_VERSION}/runc.${ARCH}
|
||||||
|
https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz
|
||||||
|
https://github.com/containerd/containerd/releases/download/v${CONTAINERD_VERSION}/containerd-${CONTAINERD_VERSION}-linux-${ARCH}.tar.gz
|
||||||
|
https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-${ARCH}.tar.gz
|
|
@ -1,11 +0,0 @@
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kubectl
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kube-apiserver
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kube-controller-manager
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kube-scheduler
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kube-proxy
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/amd64/kubelet
|
|
||||||
https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-amd64.tar.gz
|
|
||||||
https://github.com/opencontainers/runc/releases/download/v1.3.0-rc.1/runc.amd64
|
|
||||||
https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-amd64-v1.6.2.tgz
|
|
||||||
https://github.com/containerd/containerd/releases/download/v2.1.0-beta.0/containerd-2.1.0-beta.0-linux-amd64.tar.gz
|
|
||||||
https://github.com/etcd-io/etcd/releases/download/v3.6.0-rc.3/etcd-v3.6.0-rc.3-linux-amd64.tar.gz
|
|
|
@ -1,11 +0,0 @@
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kubectl
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kube-apiserver
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kube-controller-manager
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kube-scheduler
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kube-proxy
|
|
||||||
https://dl.k8s.io/v1.32.3/bin/linux/arm64/kubelet
|
|
||||||
https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-arm64.tar.gz
|
|
||||||
https://github.com/opencontainers/runc/releases/download/v1.3.0-rc.1/runc.arm64
|
|
||||||
https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-arm64-v1.6.2.tgz
|
|
||||||
https://github.com/containerd/containerd/releases/download/v2.1.0-beta.0/containerd-2.1.0-beta.0-linux-arm64.tar.gz
|
|
||||||
https://github.com/etcd-io/etcd/releases/download/v3.6.0-rc.3/etcd-v3.6.0-rc.3-linux-arm64.tar.gz
|
|
Loading…
Reference in New Issue