Kubernetes

Siapkan Kubernetes Cluster di DigitalOcean

Siapkan Kubernetes Cluster di DigitalOcean

Kubernetes adalah salah satu dari sedikit teknologi yang sukar ditempuh orang bukan kerana rumit dan sukar difahami, tetapi kerana ia dirancang untuk dijalankan pada perkakasan kelas pelayan dan tidak dapat disimulasikan dengan mudah pada komputer rumah biasa yang mudah. Syukurlah, terdapat pelbagai platform yang dihoskan oleh awan yang menyediakan infrastruktur yang berpatutan untuk bereksperimen dan memahami teknologi seperti Kubernetes.Sebagai prasyarat, saya mendorong anda untuk membaca catatan kami mengenai seni bina Kubernetes dan mengenai nod dan pod, blok bangunan kluster Kubernetes.Walaupun terdapat banyak penyelesaian yang dihoskan untuk Kubernetes, kami akan menggunakan segalanya dari awal pada DigitalOcean yang merupakan penyelesaian cloud-hosting yang disasarkan kepada pemaju khususnya.

Contoh VPS di platform ini dikenali sebagai titisan. Untuk menjalankan Kubernetes, anda memerlukan RAM sekurang-kurangnya 2 GB dan kami akan menggunakan titisan pilihan $ 20 / bulan untuk demo ini. Mereka juga dikenakan bayaran setiap jam, jadi jika anda bereksperimen selama beberapa jam dan kemudian menghancurkan semua titisannya, maka anda akan membayar tidak lebih dari beberapa dolar.

Sekarang kita mempunyai dua mesin, satu master berlabel dan satu lagi akan menjadi simpul pekerja. Oleh itu, mari kita konfigurasi master terlebih dahulu.


Mengkonfigurasi nod induk

Untuk mengkonfigurasi nod utama, SSH ke dalamnya menggunakan IP awam atau gunakan konsol yang disediakan oleh DigitalOcean untuk mengakses terminal sebagai pengguna root.

Perintah pertama adalah asas menjaga rumah:

$ apt kemas kini && apt upgrade -y

Kemudian kami mengambil kunci gpg yang diperlukan dan menambahkannya ke senarai repositori jauh kami yang dipercayai.

$ curl -s https: // pakej.awan.google.com / apt / doc / apt-key.gpg | tambah kunci apt -
$ kucing < /etc/apt/sources.list.d/kubernetes.list
deb http: // apt.kubernetes.io / kubernetes-xenial utama
EOF
kemas kini $ apt

Menjalankan kemas kini apt untuk kali kedua akan membawa sistem menjadi pantas dengan repo Kubernetes rasmi. Sekarang, kami memasang pakej yang diperlukan.

$ apt pasang dok.io
#Docker diperlukan untuk penggunaan aplikasi.
$ apt memasang kubelet kubeadm kubectl kubernetes-cni

Perintah terakhir memasang beberapa pakej yang masing-masing penting untuk alasan yang berbeza:

  1. Kubeadm: Bootstraps dan memulakan Kubernetes pada nod. Ini dapat digunakan untuk menetapkan titisan peranan nod utama, atau simpul pekerja.
  2. Kubelet: Ini adalah proses latar belakang yang bercakap dengan simpul induk dan melakukan tindakan yang diminta olehnya.
  3. Kubectl: Ini adalah alat baris perintah yang membolehkan pemaju dan kakitangan operasi berinteraksi dengan, dan mengawal, kelompok Kubernetes.
  4. Kubernetes-cni: Ia adalah Interface Networking Interface yang diperlukan untuk komunikasi dalaman antara pod dan komunikasi luaran juga.

Sekarang kita sudah memasang semua pakej yang diperlukan, inilah masanya untuk kita memulakan nod utama. Jalankan perkara berikut:

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

Pastikan untuk mengganti pemboleh ubah terakhir $ DROPLET_IP_ADDRESS dengan IP awam nod induk anda. Sekiranya semuanya berfungsi dengan baik, ini akan menjadi hasil anda:

Pastikan anda menyalin baris terakhir "kubeadm join -token ..." kerana mengandungi kelayakan keselamatan yang diperlukan yang diperlukan oleh simpul pekerja untuk bergabung dengan kluster.

Setiap node induk mempunyai pelayan API yang berjalan di atasnya, yang akan dinyatakan oleh perintah di atas ke rangkaian pod dan juga ke antara muka baris perintah, kubectl, dan juga UI Web pilihan.

Nota: Anda boleh menggunakan alamat IP awam titisan anda untuk kubeadm init perintah tetapi jika anda ingin mengasingkan nod induk anda dari seluruh dunia, anda mungkin ingin menggunakan ciri IP peribadi DigitalOcean yang akan digunakan oleh pod yang berlainan di pelbagai nod untuk bercakap antara satu sama lain. Anda kemudiannya hanya dapat mendedahkan perkhidmatan front-end apabila projek anda berjaya.

Baiklah, satu langkah terakhir sebelum kita melihat laporan kesihatan di nod induk kita. Anda mungkin mahu menjalankan:

$ mkdir -p $ RUMAH /.kiub
$ cp / etc / kubernetes / admin.conf $ RUMAH /.kiub
$ chown $ (id -u): $ (id -g) $ RUMAH / pentadbir.pengesahan
$ kubectl buat -f
https: // mentah.githubusercontent.com / coreos / flanel / master / Dokumentasi / kube-flanel.yml --namespace = sistem kube

Flannel dipasang pada perintah terakhir yang menyediakan fungsi rangkaian lapisan 3 yang diperlukan untuk kontena.
Sekarang kita boleh berlari,

$ kubectl dapatkan nod
$ kubectl dapatkan pod -all-namespaces

Yang akan menunjukkan kepada kita keadaan semua nod dan semua pod dalam kluster ini, yang pada masa ini hanya satu. Jadi sudah tiba masanya kita mengkonfigurasi titisan kedua dan mengubahnya menjadi nod pekerja Kubernetes.


Mengkonfigurasi minion atau nod pekerja

Banyak konfigurasi minion akan menjadi pengulangan dari apa yang telah kita lakukan di atas, dari mana kubeadm memerintahkan bahawa jalan akan mula menyimpang.

Oleh itu, untuk mengkonfigurasi nod pekerja anda dengan mengulangi semua arahan hingga dan termasuk pemasangan pakej,

$ apt memasang kubelet kubeadm kubectl kubernetes-cni

Kemudian untuk menginisialisasi titisan sebagai simpul kubernetes, jalankan perintah yang dihasilkan di nod induk, setelah selesaikubeadm init.

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

Harap maklum bahawa kandungan yang mengikuti bendera token anda, alamat IP, dan checksum sha256 semuanya akan sangat berbeza dalam kes anda. Itu sahaja! Anda mempunyai nod baru sebagai ahli kluster Kubernetes. Anda boleh mengesahkannya dengan menyenaraikan nod dan pod yang berjalan di kluster ini.


Kesimpulannya

Sekarang adalah masa untuk anda menggunakan berlabuh aplikasi dalam kluster ini dan jangan ragu untuk memunculkan lebih banyak titisan dan menggunakan kubeadm sertai untuk menambahkan ahli baru ke kluster Kubernetes anda.

Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...