Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran keseluruhan

Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, satu tuan dan seorang pekerja, namun anda boleh menggunakan pelayan sebanyak yang anda inginkan.

Apa itu kubeadm?

Kubeadm adalah alat yang dibangunkan oleh Kubernetes yang membolehkan anda untuk mendapatkan sekurang-kurangnya kelompok yang berdaya maju dan berjalan dengan mengikuti amalan terbaik. Ia hanya akan membekalkan kluster anda, bukan mesin penyediaan. Perkara-perkara seperti addons, papan pemuka Kubernetes, penyelesaian pemantauan dan sebagainya bukan sesuatu yang akan dilakukan oleh kubeadm untuk anda.

Prasyarat

Terdapat beberapa keperluan untuk pelayan yang akan kami gunakan. Satu atau lebih mesin yang menjalankan OS yang serasi dengan deb / rpm. Kami akan menggunakan CentOS.

  • 2 GB atau lebih RAM setiap mesin
  • 2 CPU atau lebih pada tuan

Sambungan rangkaian penuh di antara semua mesin dalam kelompok

Dua pelayan yang ditempatkan di dalam panduan ini adalah seperti berikut: - 1 CPU 2GB RAM dengan CentOS 7 (Worker node) - 2 CPU 4GB RAM dengan CentOS 7 (Master node)

Dengan jumlah RAM ini pada kedua-dua pelayan, Kubernet akan mempunyai banyak ruang untuk bernafas.

Mengkonfigurasi pekerja dan tuan

Berikut adalah langkah-langkah yang perlu kita ambil pada nod induk dan pekerja:

  • Yum update & packages
  • Pasang dok
  • Lumpuhkan selinux
  • Lumpuhkan swap
  • Lumpuhkan Firewall
  • Kemas kini IPTables
  • Pasang kubelet / kubeadm / kubectl

Memasang Docker

Kami akan menggunakan versi 1.14Kubernet dalam tutorial ini. Untuk versi ini, Kubernetes mengesyorkan menjalankan versi Docker 18.06.2. Pastikan anda menyemak versi Docker yang disyorkan untuk versi Kuberenetes anda

Kami akan menambahkan repositori Docker ke yum dan memasang secara khusus 18.06.2. Sebaik sahaja Docker dipasang, kita perlu mengkonfigurasi daemon penyimpan kepada tetapan yang disyorkan oleh Kubernetes.

###Add yum-utils, if not installed already
yum install yum-utils

###Add Docker repository.
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

###Install Docker CE.
yum update && yum install docker-ce-18.06.2.ce

###Create /etc/docker directory.
mkdir /etc/docker

###Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

###Restart Docker
systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

Lumpuhkan SELinux

Oleh kerana kita menggunakan CentOS kita perlu mematikan SELinux. Ini adalah perlu untuk membenarkan akses bekas ke sistem fail host.

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disable/' /etc/selinux/config

Lumpuhkan Tukar

Pertukaran perlu dilumpuhkan untuk membolehkan kubelet berfungsi dengan baik.

sed -i '/swap/d' /etc/fstab
swapoff -a

Lumpuhkan Firewall

Kubernetes menggunakan IPTables untuk menangani lalu lintas masuk dan keluar - jadi untuk mengelakkan masalah kami mematikan firewalld.

systemctl disable firewalld
systemctl stop firewalld

Kemas kini IPTables

Kubernetes mengesyorkan bahawa kami memastikan net.bridge.bridge-nf-call-iptablesditetapkan kepada 1. Ini disebabkan oleh isu-isu di mana REHL / CentOS 7 mempunyai masalah dengan trafik yang dialihkan secara tidak betul kerana melangkau iptables.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Pasang kubelet / kubeadm / kubectl

Kita perlu menambahkan repo kubernetes ke yum. Sebaik sahaja kita berbuat demikian, kita hanya perlu menjalankan perintah pemasangan dan membolehkan kubelet.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=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
exclude=kube*
EOF

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet

Sekarang kami telah mengkonfigurasi sepenuhnya nod tuan dan pekerja kami. Kita kini boleh memulakan nod tuan kita dan menyertai nod pekerja kita kepada tuan!

Nota Jika anda ingin menambah lebih banyak nod pekerja proses di atas perlu dilakukan pada semua nod tersebut juga.

Penyediaan Master Node

Kami ingin memulakan nod utama kami dengan menjalankan perintah berikut. Anda akan mahu menggantikan alamat IP tuan induk anda dalam arahan di bawah. Di samping itu, kami akan lulus pod-network-cidr untuk memudahkan kami kemudian apabila kami memasang overlay rangkaian Flannel.

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

Ini mungkin mengambil sedikit masa untuk diselesaikan tetapi setelah selesai, anda akan melihat sesuatu yang serupa pada akhir output seperti berikut.

kubeadm join YOUR_IP:6443 --token 4if8c2.pbqh82zxcg8rswui \
--discovery-token-ca-cert-hash sha256:a0b2bb2b31bf7b06bb5058540f02724240fc9447b0e457e049e59d2ce19fcba2

Perintah ini adalah apa yang perlu dilaksanakan oleh node pekerja anda untuk bergabung dengan kluster, jadi perhatikanlah.

Seterusnya ialah Flanel. Flannel adalah yang membolehkan komunikasi pod ke pod. Terdapat pelbagai jenis lapisan rangkaian lain yang boleh anda pasang tetapi untuk kesederhanaan panduan ini akan menggunakan Flanel.

Salin kube/configfail ke dalam anda $Homesupaya anda boleh melaksanakan kubectlperintah.

mkdir $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config

Satu langkah terakhir pada nod master adalah memasang Flanel. Jalankan arahan berikut.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Dengan konfigurasi ini disalin ke atas anda akan dapat lari kubectl get csdan mendapat respons.

NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

Nod tuan anda ditetapkan dan bersedia untuk pergi. Ke nod pekerja!

Node pekerja

Pada ketika ini tidak ada kerja tambahan yang diperlukan pada simpul pekerja. Apa yang perlu kita lakukan adalah menjalankan kubeadm joinperintah yang kita dapat dari kubeadm initoutput kita .

Sekiranya kebetulan anda salah meletakkan perintah join kubeadm, anda boleh membuat satu lagi pada nod utama dengan menjalankan kubeadm token create --print-join-command

Sebaik sahaja anda menjalankan perintah join kubeadm, jika anda menjalankan kubectl get nodespada master anda akan melihat output yang serupa dengan yang berikut.

NAME          STATUS   ROLES    AGE    VERSION
k8-master   Ready    master   107m   v1.14.2
k8-worker   Ready    <none>   45m    v1.14.2

Mengakhiri

Sama seperti itu, anda telah mengikat kluster Kubernetes menggunakan kubeadm. Anda juga boleh melakukan ini dengan rangkaian peribadi. Vultr, serta penyedia awan lain, membenarkan rangkaian peribadi. Juga, jika anda ingin melaksanakan perintah-perintah kubekl dari mesin tempatan anda terhadap cluster anda, anda boleh melakukannya dengan memasang kubectl secara tempatan dan tarik .kube/configfail dari cluster ke mesin tempatan anda $HOME/.kube/config.

Semoga panduan ini membantu anda melintasi kubeadm dan membuat anda bermain dengan kubernetes dalam masa yang singkat!

Pautan berguna:



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut