GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Setup Kubernetes 1.5 dengan kubeadm di CentOS

Versi baru Kubernetes sudah keluar, jadi inilah artikel Kubernetes lainnya. Dengan Kubernetes 1.5, kubeadm masih dalam versi alfa, dan tidak disarankan untuk menggunakannya dalam produksi karena masih tidak mendukung penyeimbang beban. Kami akan memasang toko kaus kaki online terkenal sebagai demo, dan kami akan menggunakan nodeport untuk mengekspos layanan.

Menginstal Kubernetes 1.5 di semua node

Mari tambahkan repositori kubernetes untuk CentOS:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernet]

name=Kubernetesbaseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0EOF

Setelah menambahkan repo, kita perlu mematikan SElinux karena tidak berfungsi dengan baik dengan kubernetes. Untuk mematikannya sebentar, ketik

setenforce 0

Untuk membuatnya bertahan setelah reboot, gunakan nano untuk mengedit file konfigurasi SElinux seperti ini:

nano /etc/selinux/config

dan pastikan baris SELINUX disetel ke permisif atau dinonaktifkan:

SELINUX=disabled

Simpan file dan kami dapat melanjutkan untuk menginstal paket yang diperlukan.

yum install docker kubelet kubeadm kubectl kubernetes-cni

Untuk mengaktifkan docker auto start saat boot, jalankan perintah ini:

systemctl enable docker

Dan untuk memulainya sekarang, jalankan yang berikut ini.

systemctl start docker

Selanjutnya lakukan hal yang sama untuk kubelet

systemctl enable kubelet

systemctl start kubelet

Menyiapkan kluster

Hal pertama yang perlu kita lakukan adalah memutuskan master dari cluster baru kita. Jika semua node sudah diatur seperti di atas, selanjutnya kita jalankan master node yang ditunjuk dengan perintah berikut.

kubeadm init

Perhatikan bahwa Anda tidak dapat menjalankan perintah ini dua kali, Anda harus merobohkan cluster sebelum menjalankannya untuk kedua kalinya. Outputnya akan seperti ini:

[root@centos-01 kubernetes]# kubeadm init
[kubeadm] WARNING: kubeadm is in alpha, please do not use it for production clusters.
[preflight] Running pre-flight checks
[preflight] WARNING: firewalld is active, please ensure ports [6443 9898 10250] are open or your cluster may not function correctly
[init] Using Kubernetes version: v1.5.1
[tokens] Generated token: "9a6b48.b4011ffeeb237381"
[certificates] Generated Certificate Authority key and certificate.
[certificates] Generated API Server key and certificate
[certificates] Generated Service Account signing keys
[certificates] Created keys and certificates in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[apiclient] Created API client, waiting for the control plane to become ready
[apiclient] All control plane components are healthy after 105.821991 seconds
[apiclient] Waiting for at least one node to register and become ready
[apiclient] First node is ready after 4.505809 seconds
[apiclient] Creating a test deployment
[apiclient] Test deployment succeeded
[token-discovery] Created the kube-discovery deployment, waiting for it to become ready
[token-discovery] kube-discovery is ready after 68.003359 seconds
[addons] Created essential addon: kube-proxy
[addons] Created essential addon: kube-dns

Your Kubernetes master has initialized successfully!

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
http://kubernetes.io/docs/admin/addons/

You can now join any number of machines by running the following on each node:

kubeadm join --token=9a6b48.b4011ffeeb237381 45.55.128.42

Memasang jaringan pod dan menambahkan node ke cluster

Pada bagian di atas, kita menginisialisasi master cluster, dan kita mendapatkan perintah baris terakhir dengan token yang akan kita gunakan untuk menambahkan node. Tapi sebelum kita melakukannya, kita perlu menginstal jaringan pod.

kubectl apply -f https://git.io/weave-kube

Ada banyak cara untuk memiliki jaringan pod, tetapi yang di atas mungkin yang paling sederhana. Ini menggunakan Antarmuka Jaringan Kontainer atau CNI, yang diusulkan sebagai standar untuk kontainer jaringan di Linux.

Selanjutnya kita dapat menambahkan node ke cluster dengan menjalankan perintah ini pada semua node

kubeadm join --token=bb6fc2.be0345f5b02a32a0 45.55.128.42

Token dibersihkan, sehingga Anda tidak dapat menambahkan node ke cluster saya. Selanjutnya mari aktifkan pod untuk berjalan di master dan tidak hanya di node.

kubectl taint nodes --all dedicated-

Setelah ini, kita dapat memeriksa node untuk melihat apakah semuanya online.

kubectl get nodes

Contoh penginstalan layanan mikro

Ada contoh microservices sederhana yang akan kita gunakan untuk menguji cluster kita. Ini adalah toko online untuk kaus kaki.

Pertama kita akan menambahkan toko kaus kaki namespace

kubectl create namespace sock-shop

Dan kemudian kami membuat layanan

kubectl apply -n sock-shop -f "https://github.com/microservices-demo/microservices-demo/blob/master/deploy/kubernetes/complete-demo.yaml?raw=true"

Setelah ini kita perlu menunggu beberapa saat hingga container dibuat dan kemudian kita dapat mencoba mengunjungi situs baru. Untuk mengunjunginya, kita harus mengetahui alamatnya. Mari kita periksa layanannya

kubectl describe svc front-end -n sock-shop

Ini akan memberi Anda output yang mirip dengan ini

Name: front-end
Namespace: sock-shop
Labels: name=front-end
Selector: name=front-end
Type: NodePort
IP: 10.104.11.202
Port: <unset> 80/TCP
NodePort: <unset> 31500/TCP
Endpoints: 10.32.0.4:8079
Session Affinity: None
No events.

Garis tebal disorot oleh saya karena kami membutuhkan nomor port yang digunakan layanan. Kita perlu menggabungkan nomor port dengan alamat salah satu node kita, dan kita akan sampai ke situs.

Kesimpulan

Jadi kami telah berhasil mengatur cluster Kubernetes 1.5 dengan kubeadm di CentOS 7. Dalam kasus kami ini adalah cluster tiga node tetapi kubeadm memungkinkan Anda untuk dengan mudah menskalakan cluster dengan menambahkan node baru. Pastikan untuk merahasiakan token Anda karena dengan token dan ip publik, siapa pun dapat menambahkan node ke cluster Anda. Dengan itu kami mengakhiri artikel ini, terima kasih telah membaca dan semoga hari Anda menyenangkan.


Cent OS
  1. Cara Menginstal CentOS 8 (dengan Tangkapan Layar)

  2. Cara Setup Pure-FTPD dengan MySQL di CentOS &RedHat

  3. Cara Mengatur Kunci SSH di CentOS 8

  1. Cara Memantau Kubernetes Dengan Prometheus

  2. Cara menginstal Python 3 di CentOS 7 dengan SCL

  3. Cara Setup Server FTP dengan VSFTPD di CentOS 7

  1. Cara Setup Server FTP dengan VSFTPD di CentOS 8

  2. Cara Menginstal Kubernetes(k8s) dengan Minikube di CentOS 8

  3. Cara Mengatur Cluster Kubernetes(k8s) di HA dengan Kubeadm