kelseyhightower / kubernetes-the-hard-way

Bootstrap Kubernetes the hard way. No scripts.
Apache License 2.0
40.53k stars 13.9k forks source link

Request for x86 Compatibility #799

Open heyfrancisco opened 1 month ago

heyfrancisco commented 1 month ago

The current tutorial requires four (4) ARM64-based virtual or physical machines connected to the same network. While the use of ARM64 machines is insightful and reflects the growing adoption of ARM processors, this requirement may present challenges for users who primarily have access to x86-based infrastructure.

However, x86 remains the predominant processor architecture found in both physical hosts and virtual machines. This makes it more accessible for many users, including myself.

Limiting this otherwise excellent tutorial to ARM64-based systems may exclude a significant portion of potential users who could benefit from the content but lack immediate access to ARM64 hardware.

Proposed Solution:

albertux commented 1 month ago

I need to test it but probably just replace arm64 to amd64 will work:

for x in $(cat downloads.txt | sed 's/arm64/amd64/g'); do curl -I $x; done 2>/dev/null | grep HTTP
HTTP/2 200 
HTTP/2 200 
HTTP/2 200 
HTTP/2 200 
HTTP/2 302 
HTTP/2 302 
HTTP/2 302 
HTTP/2 302 
HTTP/2 200 
HTTP/2 200 
HTTP/2 302 
albertux commented 1 month ago

Yeah it works the download but I still need to test the next steps of the build

     1  -rw-r--r-- 1 aayala aayala  11M Aug 10  2023 runc.amd64
     2  -rw-r--r-- 1 aayala aayala  16M Jul 11  2023 etcd-v3.4.27-linux-amd64.tar.gz
     3  -rw-r--r-- 1 aayala aayala  22M Aug 14  2023 crictl-v1.28.0-linux-arm.tar.gz
     4  -rw-r--r-- 1 aayala aayala  44M May  9  2023 cni-plugins-linux-amd64-v1.3.0.tgz
     5  -rw-r--r-- 1 aayala aayala  46M Oct 26  2023 containerd-1.7.8-linux-amd64.tar.gz
     6  -rw-r--r-- 1 aayala aayala  48M Oct 18  2023 kubectl
     7  -rw-r--r-- 1 aayala aayala  53M Oct 18  2023 kube-proxy
     8  -rw-r--r-- 1 aayala aayala  54M Oct 18  2023 kube-scheduler
     9  -rw-r--r-- 1 aayala aayala 106M Oct 18  2023 kubelet
    10  -rw-r--r-- 1 aayala aayala 113M Oct 18  2023 kube-controller-manager
    11  -rw-r--r-- 1 aayala aayala 117M Oct 18  2023 kube-apiserver

running file command in each download fiile:

runc.amd64: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, BuildID[sha1]=426719b1de5bb199f9bb8de80c21b49ae1e48d1d, for GNU/Linux 3.2.0, stripped
etcd-v3.4.27-linux-amd64.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 42096640
crictl-v1.28.0-linux-arm.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 52234240
cni-plugins-linux-amd64-v1.3.0.tgz: gzip compressed data, from Unix, original size modulo 2^32 78448640
containerd-1.7.8-linux-amd64.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 136714240 gzip compressed data, reserved method, ASCII, has CRC, extra field, from FAT filesystem (MS-DOS, OS/2, NT), original size modulo 2^32 136714240
kubectl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=cCQpR86uWoK6ykeFj3dV/ju5UbNLVauGCoAKv7TpI/sQDOxfmx5Y1uONEbF0M3/nVqLc6-Sk7eGUWoO2ke3, stripped
kube-proxy: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=hfGYCWEjAch2iTgIJWrE/V-8ho-tQ_HRnl9ln55A3/otn4Zd4m1MAtEmL-hNFJ/ySJitCKm0VVyDTn5qBJo, stripped
kube-scheduler: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=KqciZeKJWTDqNjgrwJJy/N5SEN_gr-YTJZdfoP2RZ/ulotTmIB9Ap874h6z2F4/OopsCym-VcDWSctWXPTu, stripped
kubelet: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=aTloOEf2ZDlu1q_VPjW6/_tH1mA32oyfRkY3mXHBs/6P96ehumaNsVbWSPD9G-/j9fN6xoUqXPn8URZ6d4u, stripped
kube-controller-manager: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=cIzGXTYZtNjsqnXtFqVM/GZd28jhym4OVIFT_BTKr/KUow0X_7A27pu0lw1YeM/P9u-j1eXP_ak52A2IgLI, stripped
kube-apiserver: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=KrtAlsyCA11VPhEIkBbF/iWyowd9k7unKARDORiZQ/R2geQ7wOK3DpeW5DeYPO/ECYf2cFx2chzfo12Ul9N, stripped

This looks good, I don't have time to go to the whole process today but maybe next days I will do it

ravilushqa commented 1 week ago

I can confirm that it's working. It just requires some attention to the next steps and renaming arm to amd

aamkv commented 9 hours ago
crictl-v1.28.0-linux-arm.tar.gz

would need to be switched for

crictl-v1.28.0-linux-amd64.tar.gz