Kubernetes

Siapkan Cluster Kubernetes di DigitalOcean

Siapkan Cluster Kubernetes di DigitalOcean

Kubernetes adalah salah satu dari sedikit teknologi yang dihadapi orang bukan karena rumit dan sulit dipahami, tetapi karena dirancang untuk berjalan pada perangkat keras tingkat server dan tidak dapat dengan mudah disimulasikan pada komputer rumahan biasa yang mudah. Untungnya, ada berbagai platform cloud yang dihosting yang menyediakan infrastruktur terjangkau untuk bereksperimen dan memahami teknologi seperti Kubernetes.Sebagai prasyarat, saya mendorong Anda untuk membaca posting kami tentang arsitektur Kubernetes dan tentang node dan pod, blok bangunan dari cluster Kubernetes.Meskipun ada banyak solusi yang dihosting untuk Kubernetes, kami akan menerapkan semuanya dari awal di DigitalOcean yang merupakan solusi cloud-hosting yang ditargetkan untuk pengembang khususnya.

Instance VPS pada platform ini dikenal sebagai droplet. Untuk menjalankan Kubernetes, Anda memerlukan setidaknya 2 GB RAM dan kami akan menggunakan droplet opsi $20/bulan untuk demo ini. Mereka mengenakan biaya per jam juga, jadi jika Anda bereksperimen selama beberapa jam dan kemudian menghancurkan semua tetesan maka Anda akan membayar tidak lebih dari beberapa dolar.

Sekarang kami memiliki dua mesin, satu master berlabel dan yang lainnya akan menjadi node pekerja. Jadi mari kita konfigurasikan masternya terlebih dahulu.


Mengkonfigurasi node master

Untuk mengkonfigurasi master node, SSH ke dalamnya menggunakan IP publik atau gunakan konsol yang disediakan oleh DigitalOcean untuk mengakses terminal sebagai pengguna root.

Perintah pertama adalah perintah dasar pemeliharaan rumah:

$ apt update && apt upgrade -y

Kemudian kami mengambil kunci gpg yang diperlukan dan menambahkannya ke daftar repositori jarak jauh tepercaya kami.

$ curl -s https://packages.awan.google.com/apt/doc/apt-key.gpg | apt-key add -
$ kucing < /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
$ pembaruan tepat

Menjalankan pembaruan apt untuk kedua kalinya akan mempercepat sistem dengan repo resmi Kubernetes. Sekarang, kami menginstal paket yang diperlukan.

$ tepat menginstal buruh pelabuhan.io
#Docker diperlukan untuk penampung aplikasi.
$ apt install kubelet kubeadm kubectl kubernetes-cni

Perintah terakhir menginstal beberapa paket yang masing-masing penting untuk alasan yang berbeda:

  1. kubeadm: Bootstrap dan inisialisasi Kubernetes pada sebuah node. Ini dapat digunakan untuk menetapkan droplet peran node master, atau node pekerja.
  2. kubelet: Ini adalah proses latar belakang yang berbicara dengan node master dan melakukan tindakan yang diminta olehnya.
  3. kubectl: Ini adalah alat baris perintah yang memungkinkan pengembang dan personel operasi untuk berinteraksi dengan, dan mengontrol, klaster Kubernetes.
  4. Kubernetes-cni: Ini adalah Antarmuka Jaringan Kontainer yang diperlukan untuk komunikasi internal antar Pod dan komunikasi eksternal juga.

Sekarang kita telah menginstal semua paket yang diperlukan, saatnya bagi kita untuk menginisialisasi node master. Jalankan yang berikut ini:

$ kubeadm init --pod-network-cidr=10.244.0.0/16 --
apiserver-advertise-address $DROPLET_IP_ADDRESS

Pastikan untuk mengganti variabel terakhir $DROPLET_IP_ADDRESS dengan IP publik dari master node Anda. Jika semuanya bekerja dengan baik, ini akan menjadi output Anda:

Pastikan Anda menyalin baris terakhir “kubeadm join -token…” karena baris tersebut berisi kredensial keamanan yang diperlukan oleh node pekerja untuk bergabung dengan cluster.

Setiap node master memiliki server API yang berjalan di atasnya, yang akan diekspos oleh perintah di atas ke jaringan pod dan juga ke antarmuka baris perintah, kubectl, serta ke UI Web opsional.

catatan: Anda dapat menggunakan alamat IP publik droplet Anda untuk kubeadm init perintah tetapi jika Anda ingin mengisolasi node master Anda dari seluruh dunia, Anda mungkin ingin menggunakan fitur IP pribadi DigitalOcean yang akan digunakan oleh pod yang berbeda di berbagai node untuk berbicara satu sama lain. Nanti Anda hanya dapat mengekspos layanan front-end, ketika proyek Anda membuahkan hasil.

Oke, satu langkah terakhir sebelum kita bisa melihat laporan kesehatan di master node kita. Anda mungkin ingin menjalankan:

$ mkdir -p $HOME/.kube
$cp /etc/kubernetes/admin.konf $HOME/.kube
$ chown $(id -u):$(id -g) $HOME/admin.konf
$ kubectl buat -f
https://raw.githubusercontent.com/coreos/flanel/master/Dokumentasi/kube-flanel.yml --namespace=kube-sistem

Flanel diinstal pada perintah terakhir yang menyediakan fungsionalitas jaringan lapisan 3 yang diperlukan untuk wadah.
Sekarang kita bisa lari,

$ kubectl dapatkan node
$ kubectl dapatkan pod -all-namespaces

Yang akan menunjukkan kepada kita status semua node dan semua pod di cluster ini, yang saat ini hanya satu. Jadi sekarang saatnya kita mengonfigurasi droplet kedua dan mengubahnya menjadi node pekerja Kubernetes.


Mengonfigurasi minion atau node pekerja

Banyak konfigurasi antek yang akan menjadi pengulangan dari apa yang telah kita lakukan di atas, itu dari kubeadm perintah bahwa jalan akan mulai menyimpang.

Jadi untuk mengonfigurasi simpul pekerja Anda dengan mengulangi semua perintah hingga dan termasuk instalasi paket,

$ apt install kubelet kubeadm kubectl kubernetes-cni

Kemudian untuk menginisialisasi droplet sebagai node kubernetes, jalankan perintah yang dihasilkan pada master node, setelah selesaikubeadm init.

$ kubeadm bergabung --token 3c37b5.08ed6cdf2e4a14c9
159.89.25.245:6443 --discovery-token-ca-cert-hash
sha256:52f99432eb33bb23ff86f62255ecbb

Harap perhatikan bahwa konten yang mengikuti tanda token Anda, alamat IP, dan checksum sha256 semuanya akan sangat berbeda dalam kasus Anda. Itu dia! Anda memiliki node baru sebagai anggota cluster Kubernetes. Anda dapat mengonfirmasi ini dengan membuat daftar node dan pod yang berjalan di cluster ini.


Kesimpulan

Sekarang saatnya bagi Anda untuk menyebarkan buruh pelabuhan aplikasi di cluster ini dan jangan ragu untuk menghasilkan lebih banyak tetesan dan gunakan kubeadm bergabung untuk menambahkan anggota baru ke klaster Kubernetes Anda.

5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...
Pertempuran Untuk Wesnoth 1.13.6 Pengembangan Dirilis
Pertempuran Untuk Westnoth 1.13.6 dirilis bulan lalu, adalah rilis pengembangan keenam dalam 1.13.x series dan memberikan sejumlah peningkatan, teruta...
Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...