Cara setup Kubernetes 1.5 dengan kubeadm di CentOS

Posted on

[ad_1] Cara setup Kubernetes 1.5 dengan kubeadm di CentOS

Versi baru Kubernetes telah dirilis, jadi inilah artikel Kubernetes lainnya. Dengan Kubernetes 1.5, kubeadm masih dalam versi alfa, dan tidak direkomendasikan untuk digunakan dalam produksi, karena belum mendukung penyeimbang beban. Kami akan menginstal toko online kaus kaki terkenal sebagai versi percobaan dan kami akan menggunakan nodeport untuk mengekspos layanan.

Instal Kubernetes 1.5 di semua node

Mari tambahkan repositori kubernetes untuk CentOS:

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

[kubernetes]

name=Kubernetes baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64 diaktifkan=1 gpgcheck=0 repo_gpgcheck=0 EOF

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

setenforce 0

Untuk mempertahankannya setelah reboot, gunakan nano untuk mengedit file konfigurasi SElinux sebagai berikut:

nano /etc/selinux/config

Dan pastikan garis SELINUX diatur ke diaktifkan atau dinonaktifkan:

SELINUX=disabled

Simpan file dan kami dapat melanjutkan 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, jalankan yang berikut ini.

systemctl start docker

Kemudian kita melakukan hal yang sama untuk kubelet

systemctl enable kubelet

systemctl start kubelet

Menyiapkan cluster

Hal pertama yang perlu kita lakukan adalah menentukan master cluster baru kita. Jika semua node sudah diatur seperti yang ditunjukkan di atas, maka kita jalankan perintah berikut pada node master yang kita tentukan.

kubeadm init

Perhatikan bahwa Anda tidak dapat menjalankan perintah ini dua kali, Anda harus mematikan cluster sebelum menjalankan kedua. Outputnya akan mirip dengan:

[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 mencapai perintah baris terakhir dengan token yang akan kita gunakan untuk menambahkan node. Tetapi 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 mudah. Ini menggunakan Antarmuka Jaringan Kontainer, atau CNI, yang merupakan standar yang diusulkan untuk kontainer jaringan di Linux.

Kami kemudian dapat menambahkan node ke cluster dengan menjalankan perintah ini di semua node

kubeadm join --token=bb6fc2.be0345f5b02a32a0 45.55.128.42

Token dibersihkan, jadi Anda tidak dapat menambahkan node ke cluster saya. Selanjutnya, ini memungkinkan 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 instalasi layanan mikro

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

Pertama, kami menambahkan namespace toko kaus kaki

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 harus menunggu beberapa saat hingga container dibuat dan kemudian kita dapat mencoba mengunjungi situs baru. Untuk mengunjunginya, kita perlu mengetahui alamatnya. Yuk cek 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 memerlukan nomor port yang digunakan layanan. Kami harus menggabungkan nomor port dengan alamat salah satu node kami dan kami akan mencapai situs.

Hasil

Jadi kita telah berhasil mengatur cluster Kubernetes 1.5 dengan kubeadm di CentOS 7. Dalam kasus kami, cluster terdiri dari 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 ini kami menyimpulkan artikel ini, terima kasih telah membaca dan semoga hari Anda menyenangkan.

[ad_2]

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *