Cara menginstal Kubernetes di server Ubuntu tanpa Docker

gambar



Kubernetes menjatuhkan dukungan untuk Docker. Sekarang, semua kerja keras yang Anda lakukan untuk belajar akan banyak berubah. Bahkan sejak awal, penggunaan Kubernetes tidak akan sama.



Saya berbicara tentang memasang alat manajemen kontainer itu sendiri. Anda, tentu saja, tidak dapat menerapkan Kubernetes dengan cara yang sama seperti sebelumnya - dengan Docker terinstal sebagai runtime Anda.



Bersama-sama kita sekarang akan mencoba menginstal Kubernetes di Ubuntu Server 20.04 tanpa Docker.



Apa yang kamu butuhkan



  • Pengguna dengan hak sudo
  • Instans Ubuntu Server 20.04 (ini akan berfungsi sebagai Pengontrol - Anda akan memerlukan instans lain untuk dijalankan sebagai node, tetapi saya hanya akan mendemonstrasikan pada Pengontrol karena penyiapannya akan sama di semua mesin)


Cara menginstal runtime penampung



Hal pertama yang akan kita lakukan adalah menginstal runtime containerd, yang akan menggantikan Docker. Masuk ke instance Ubuntu Server Anda dan pastikan untuk memperbarui apt menggunakan perintah:



sudo apt-get update
      
      





Setelah itu, Anda harus memulai pembaruan dengan perintah:



sudo apt-get upgrade -y
      
      





Jika kernel sedang diperbarui, Anda perlu mereboot server (kecuali Anda telah menginstal dan menjalankan Live Patch).

 

Instal containerd menggunakan perintah:



sudo apt-get install containerd -y
      
      





Konfigurasikan containerd dan mulai layanan menggunakan perintah:



sudo mkdir -p /etc/containerd
sudo su -
containerd config default  /etc/containerd/config.toml
      
      





Bagaimana cara menginstal Kubernetes



Selanjutnya, kami akan menginstal Kubernetes. Pertama, Anda perlu menambahkan kunci GPG repositori menggunakan perintah:



curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
      
      





Tambahkan repositori Kubernetes menggunakan perintah:

 

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
      
      





Sekarang Anda dapat menginstal semua komponen Kubernetes yang diperlukan menggunakan perintah:



sudo apt-get install kubeadm kubelet kubectl –y
      
      





Bagaimana mengatasi beberapa masalah penampung



Di sinilah segalanya menjadi sedikit rumit. Docker telah menyelesaikan banyak hal internal. Saat Anda pergi ke containerd, Anda perlu melakukan beberapa perubahan konfigurasi manual. 



Perubahan pertama adalah menambahkan baris ke /etc/sysctl.conf. Buka file dengan perintah:



sudo nano /etc/sysctl.conf
      
      





Dengan file ini terbuka, tambahkan yang berikut di bawah ini:



net.bridge.bridge-nf-call-iptables = 1
      
      





Simpan dan tutup file. 



Kemudian masukkan perintah:



sudo -s
sudo echo '1' > /proc/sys/net/ipv4/ip_forward
exit
      
      





Muat ulang konfigurasi dengan perintah:



sudo sysctl --system
      
      





Anda juga perlu memuat beberapa modul yang diperlukan menggunakan perintah:



sudo modprobe overlay
sudo modprobe br_netfilter
      
      





Setelah Anda menangani ini, Anda dapat menginisialisasi Kubernetes.



Cara menyelesaikan penyiapan



Anda perlu mencantumkan semua host Anda di / etc / hosts. Pastikan tampilan dalam bentuk:



IP Address hostname
      
      





Langkah selanjutnya adalah mengatur nama host pengontrol Anda (pastikan itu cocok dengan nama host yang Anda gunakan di / etc / hosts) menggunakan perintah:



sudo hostnamectl set-hostname HOSTNAME
      
      





Di mana HOSTNAME adalah nama host yang ingin Anda gunakan.



Nonaktifkan swapping dengan membuka file fstab untuk mengedit dengan perintah:



sudo nano /etc/fstab
      
      





Dalam file ini, beri komentar (dengan menambahkan # di awal baris) entri yang dimulai dengan:



/swap.img
      
      





Baris ini sekarang akan dimulai dengan:



# / swap.img
      
      





Simpan dan tutup file. 



Nonaktifkan swap dengan perintah:



sudo swapoff -a
      
      





Ekstrak wadah yang diperlukan dengan perintah:



sudo kubeadm config images pull
      
      





Pada pengontrol, inisialisasi Kubernetes menggunakan perintah:



sudo kubeadm init --pod-network-cidr=IPADDRESS/24
      
      





Di mana IPADDRESS adalah alamat IP pengontrol Anda.



Anda akhirnya akan kembali ke perintah yang Anda perlukan untuk menjalankan node Anda sehingga mereka dapat terhubung ke cluster. Salin perintah ini. 



Sebelum Anda dapat menggabungkan node ke cluster, Anda perlu menangani beberapa bit lagi di cluster.



Pada pengontrol, buat direktori cluster menggunakan perintah:



mkdir -p $ HOME / .kube
      
      





Salin file konfigurasi ke direktori ini menggunakan perintah:



sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
      
      





Berikan file konfigurasi izin yang sesuai dengan perintah:



sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
      





Deploy jaringan container (dalam hal ini kita akan menggunakan weave-net) di cluster menggunakan perintah:



kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
      
      





Anda sekarang dapat menjalankan perintah sambungkan pada setiap node untuk mematikan cluster.



Prosesnya tidak sesederhana dulu. Mudah-mudahan di masa mendatang, menerapkan cluster Kubernetes semudah menggunakan Docker. 



All Articles