Disumbangkan oleh Google ke komunitas Opensource, Kubernetes kini telah menjadi alat manajemen kontainer pilihan. Itu dapat mengelola dan mengatur tidak hanya runtime buruh pelabuhan tetapi juga Wadah dan Rkt runtime.
Sebuah tipikal Kubernetes cluster umumnya akan memiliki node master dan beberapa node pekerja atau Minion. Pekerja-node kemudian dikelola dari master node, sehingga memastikan bahwa cluster dikelola dari titik pusat.
Penting juga untuk disebutkan bahwa Anda juga dapat menerapkan cluster Kubernetes node tunggal yang umumnya direkomendasikan untuk beban kerja non-produksi yang sangat ringan. Untuk ini, Anda dapat menggunakan Minikube, yang merupakan alat yang menjalankan kluster Kubernetes node tunggal di mesin virtual pada node Anda.
Bacaan yang Direkomendasikan: Cara Memasang Cluster Kubernetes di CentOS 8
Untuk tutorial ini, kita akan menelusuri multi-node Kubernetes pemasangan klaster aktif CentOS 7 Linux. Tutorial ini berbasis baris perintah sehingga Anda memerlukan akses ke jendela terminal Anda.
Cluster 3-node kami akan terlihat seperti ini:
Untuk Kubernetes untuk bekerja, Anda akan memerlukan mesin containerization. Untuk instalasi ini, kami akan menggunakan buruh pelabuhan karena ini yang paling populer.
Langkah-langkah berikut akan dijalankan pada Master-Node.
Di node master Anda, atur nama host dan jika Anda tidak memiliki server DNS, perbarui juga /etc/hosts mengajukan.
# hostnamectl set-hostname master-node. # kucing <> /etc/hosts. 10.128.0.27 master-node. 10.128.0.29 simpul-1 pekerja-simpul-1. 10.128.0.30 simpul-2 pekerja-simpul-2. EOF.
Anda dapat melakukan ping pekerja-simpul-1 dan pekerja-simpul-2 untuk menguji apakah file host Anda yang diperbarui baik-baik saja menggunakan perintah ping.
#ping 10.128.0.29. #ping 10.128.0.30.
Selanjutnya, nonaktifkan SElinux dan perbarui aturan firewall Anda.
# setenforce 0. # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux. # menyalakan ulang.
Tetapkan aturan firewall berikut pada port. Pastikan bahwa setiap perintah firewall-cmd, mengembalikan sukses.
# firewall-cmd --permanent --add-port=6443/tcp. # firewall-cmd --permanen --add-port=2379-2380/tcp. # firewall-cmd --permanen --add-port=10250/tcp. # firewall-cmd --permanen --add-port=10251/tcp. # firewall-cmd --permanen --add-port=10252/tcp. # firewall-cmd --permanen --add-port=10255/tcp. # firewall-cmd – muat ulang. #modprobe br_netfilter. # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables.
Anda perlu menambahkan Kubernetes repositori secara manual karena tidak diinstal secara default pada CentOS 7.
kucing </etc/yum.repos.d/kubernetes.repo. [kubernet] nama=Kubernetes. dasar = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. diaktifkan=1. gpgcheck=1. repo_gpgcheck=1. gpgkey= https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg. EOF.
Dengan repo paket sekarang siap, Anda dapat melanjutkan dan menginstal kubeadm dan buruh pelabuhan paket.
# yum instal kubeadm docker -y
Ketika instalasi selesai dengan sukses, aktifkan dan mulai kedua layanan.
# systemctl aktifkan kubelet. # systemctl mulai kubelet. # systemctl aktifkan buruh pelabuhan. # systemctl mulai buruh pelabuhan.
Sekarang kita siap untuk menginisialisasi master kubernetes, tetapi sebelum itu Anda harus menonaktifkan swap untuk menjalankan “kubeadm init" memerintah.
# swapoff -a.
Menginisialisasi master Kubernetes adalah proses yang sepenuhnya otomatis yang dikelola oleh “kubeadm init“ perintah yang akan Anda jalankan.
# kubeadm init.
Anda mungkin ingin menyalin baris terakhir dan menyimpannya di suatu tempat karena Anda harus menjalankannya di simpul pekerja.
kubeadm bergabung 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Tip: Terkadang perintah ini mungkin mengeluh tentang argumen (argumen) lulus, jadi edit untuk menghindari kesalahan. Jadi, Anda akan menghapus ‘\’
karakter yang menyertai --token
dan perintah terakhir Anda akan terlihat seperti ini.
kubeadm bergabung 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41.
Setelah diinisialisasi Kubernetes berhasil, Anda harus mengizinkan pengguna Anda untuk mulai menggunakan cluster. Dalam kasus kami, kami ingin menjalankan instalasi ini sebagai akar pengguna, oleh karena itu kami akan melanjutkan dan menjalankan perintah ini sebagai root. Anda dapat mengubah ke pengguna yang diaktifkan sudo Anda lebih suka dan jalankan di bawah ini menggunakan Sudo.
Menggunakan akar, Lari:
# mkdir -p $HOME/.kube. # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config. # chown $(id -u):$(id -g) $HOME/.kube/config.
Untuk menggunakan pengguna yang diaktifkan sudo, Lari:
$ mkdir -p $HOME/.kube. $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config. $ sudo chown $(id -u):$(id -g) $HOME/.kube/config.
Sekarang periksa untuk melihat apakah kubectl perintah diaktifkan.
# kubectl mendapatkan node.
Pada titik ini, Anda juga akan melihat bahwa status master-node adalah 'Belum siap’. Ini karena kami belum menyebarkan jaringan polong ke klaster.
NS jaringan pod adalah jaringan overlay untuk cluster, yang ditempatkan di atas jaringan node saat ini. Ini dirancang untuk memungkinkan konektivitas di seluruh pod.
Menyebarkan cluster jaringan adalah proses yang sangat fleksibel tergantung pada kebutuhan Anda dan ada banyak pilihan yang tersedia. Karena kami ingin membuat instalasi kami sesederhana mungkin, kami akan menggunakan tenun plugin yang tidak memerlukan konfigurasi atau kode tambahan apa pun dan menyediakan satu alamat IP per pod yang sangat bagus untuk kami. Jika Anda ingin melihat lebih banyak opsi, silakan cek disini.
Perintah-perintah ini penting untuk mendapatkan pengaturan jaringan pod.
# export kubever=$(versi kubectl | base64 | tr -d '\n') # kubectl apply -f " https://cloud.weave.works/k8s/net? k8s-version=$kubever"
Sekarang jika Anda memeriksa status Anda master-node, harus 'Siap’.
# kubectl mendapatkan node.
Selanjutnya, kita tambahkan simpul pekerja ke klaster.
Langkah-langkah berikut akan dijalankan pada simpul pekerja. Langkah-langkah ini harus dijalankan pada setiap simpul pekerja saat bergabung dengan Kubernetes gugus.
Pada Anda pekerja-simpul-1 dan pekerja-simpul-2, atur nama host dan jika Anda tidak memiliki server DNS, maka perbarui juga node master dan pekerja Anda di /etc/hosts mengajukan.
# hostnamectl set-hostname 'node-1' # kucing <> /etc/hosts. 10.128.0.27 master-node. 10.128.0.29 simpul-1 pekerja-simpul-1. 10.128.0.30 simpul-2 pekerja-simpul-2. EOF.
Anda dapat melakukan ping master-node untuk menguji apakah file host Anda yang diperbarui baik-baik saja.
Selanjutnya, nonaktifkan SElinux dan perbarui aturan firewall Anda.
# setenforce 0. # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux.
Tetapkan aturan firewall berikut pada port. Pastikan bahwa semua perintah firewall-cmd, kembali sukses.
# firewall-cmd --permanen --add-port=6783/tcp. # firewall-cmd --permanen --add-port=10250/tcp. # firewall-cmd --permanen --add-port=10255/tcp. # firewall-cmd --permanen --add-port=30000-32767/tcp. # firewall-cmd --reload. # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables.
Anda perlu menambahkan Kubernetes repositori secara manual karena tidak diinstal sebelumnya CentOS 7.
kucing </etc/yum.repos.d/kubernetes.repo. [kubernet] nama=Kubernetes. dasar = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. diaktifkan=1. gpgcheck=1. repo_gpgcheck=1. gpgkey= https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg. EOF.
Dengan repo paket sekarang siap, Anda dapat melanjutkan dan menginstal kubeadm dan buruh pelabuhan paket.
# yum instal kubeadm docker -y
Mulai dan aktifkan kedua layanan.
# systemctl aktifkan buruh pelabuhan. # systemctl mulai buruh pelabuhan. # systemctl aktifkan kubelet. # systemctl mulai kubelet.
Kami sekarang membutuhkan token yang kubeadm init dihasilkan, untuk bergabung dengan cluster. Anda dapat menyalin dan menempelkannya ke simpul-1 dan simpul-2 jika Anda telah menyalinnya di suatu tempat.
# kubeadm gabung 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Seperti yang disarankan pada baris terakhir, kembali ke Anda master-node dan periksa apakah simpul pekerja-1 dan simpul pekerja-2 telah bergabung dengan cluster menggunakan perintah berikut.
# kubectl mendapatkan node.
Jika semua langkah berhasil dijalankan, maka, Anda akan melihat simpul-1 dan simpul-2 dalam status siap di master-node.
Bacaan yang Direkomendasikan: Cara Menyebarkan Nginx di Cluster Kubernetes
Pada titik ini, kami telah berhasil menyelesaikan instalasi a Kubernetes mengelompokkan Centos 7 dan kami telah berhasil menaiki dua pekerja-node. Anda sekarang dapat mulai membuat pod dan menerapkan layanan Anda.