Kubernetes - Penyiapan

Penting untuk menyiapkan Pusat Data Virtual (vDC) sebelum menyiapkan Kubernetes. Ini dapat dianggap sebagai sekumpulan mesin di mana mereka dapat berkomunikasi satu sama lain melalui jaringan. Untuk pendekatan langsung, Anda dapat menyiapkan vDCPROFITBRICKS jika Anda tidak menyiapkan infrastruktur fisik atau cloud.

Setelah pengaturan IaaS di cloud apa pun selesai, Anda perlu mengkonfigurasi file Master dan Node.

Note- Setup ditampilkan untuk mesin Ubuntu. Hal yang sama dapat diatur pada mesin Linux lainnya juga.

Prasyarat

Installing Docker- Docker diperlukan di semua instance Kubernetes. Berikut adalah langkah-langkah untuk menginstal Docker.

Step 1 - Masuk ke mesin dengan akun pengguna root.

Step 2- Perbarui informasi paket. Pastikan paket apt berfungsi.

Step 3 - Jalankan perintah berikut.

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates

Step 4 - Tambahkan kunci GPG baru.

$ sudo apt-key adv \
   --keyserver hkp://ha.pool.sks-keyservers.net:80 \
   --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee
/etc/apt/sources.list.d/docker.list

Step 5 - Perbarui gambar paket API.

$ sudo apt-get update

Setelah semua tugas di atas selesai, Anda dapat mulai dengan penginstalan aktual mesin Docker. Namun, sebelum ini Anda perlu memverifikasi bahwa versi kernel yang Anda gunakan sudah benar.

Instal Mesin Docker

Jalankan perintah berikut untuk menginstal mesin Docker.

Step 1 - Masuk ke mesin.

Step 2 - Perbarui indeks paket.

$ sudo apt-get update

Step 3 - Instal Mesin Docker menggunakan perintah berikut.

$ sudo apt-get install docker-engine

Step 4 - Jalankan daemon Docker.

$ sudo apt-get install docker-engine

Step 5 - Untuk sangat jika Docker diinstal, gunakan perintah berikut.

$ sudo docker run hello-world

Instal etcd 2.0

Ini perlu diinstal di Kubernetes Master Machine. Untuk menginstalnya, jalankan perintah berikut.

$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd
-v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1
$ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2
$ cd etcd-v2.0.0-linux-amd64 ------------>3
$ mkdir /opt/bin ------------->4
$ cp etcd* /opt/bin ----------->5

Di set perintah di atas -

  • Pertama, kami mengunduh etcd. Simpan ini dengan nama yang ditentukan.
  • Kemudian, kita harus menghapus paket tar.
  • Kami membuat dir. di dalam / opt bernama bin.
  • Salin file yang diekstrak ke lokasi target.

Sekarang kami siap untuk membangun Kubernetes. Kita perlu menginstal Kubernetes di semua mesin di cluster.

$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git
$ cd kubernetes
$ make release

Perintah di atas akan membuat file _outputdir di root folder kubernetes. Selanjutnya, kita dapat mengekstrak direktori ke direktori mana pun yang kita pilih / opt / bin, dll.

Selanjutnya, datanglah bagian jaringan di mana kita harus benar-benar memulai dengan penyiapan master dan node Kubernetes. Untuk melakukan ini, kami akan membuat entri di file host yang dapat dilakukan di mesin node.

$ echo "<IP address of master machine> kube-master
< IP address of Node Machine>" >> /etc/hosts

Berikut akan menjadi output dari perintah di atas.

Sekarang, kita akan mulai dengan konfigurasi sebenarnya di Kubernetes Master.

Pertama, kami akan mulai menyalin semua file konfigurasi ke lokasi yang benar.

$ cp <Current dir. location>/kube-apiserver /opt/bin/
$ cp <Current dir. location>/kube-controller-manager /opt/bin/
$ cp <Current dir. location>/kube-kube-scheduler /opt/bin/
$ cp <Current dir. location>/kubecfg /opt/bin/
$ cp <Current dir. location>/kubectl /opt/bin/
$ cp <Current dir. location>/kubernetes /opt/bin/

Perintah di atas akan menyalin semua file konfigurasi ke lokasi yang diperlukan. Sekarang kita akan kembali ke direktori yang sama dimana kita telah membuat folder Kubernetes.

$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/

$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/

$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/

Langkah selanjutnya adalah memperbarui file konfigurasi yang disalin di bawah / etc. dir.

Konfigurasikan etcd pada master menggunakan perintah berikut.

$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"

Konfigurasi kube-apiserver

Untuk ini di master, kita perlu mengedit file /etc/default/kube-apiserver file yang kami salin sebelumnya.

$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \
--port = 8080 \
--etcd_servers = <The path that is configured in ETCD_OPTS> \
--portal_net = 11.1.1.0/24 \
--allow_privileged = false \
--kubelet_port = < Port you want to configure> \
--v = 0"

Konfigurasikan Manajer Pengontrol kube

Kita perlu menambahkan konten berikut di /etc/default/kube-controller-manager.

$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--machines = kube-minion \ -----> #this is the kubernatics node
--v = 0

Selanjutnya, konfigurasikan penjadwal kube di file yang sesuai.

$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--v = 0"

Setelah semua tugas di atas selesai, kami akan melanjutkan dengan membuka Kubernetes Master. Untuk melakukan ini, kami akan memulai ulang Docker.

$ service docker restart

Konfigurasi Kubernetes Node

Node Kubernetes akan menjalankan dua layanan yaitu kubelet and the kube-proxy. Sebelum melanjutkan, kita perlu menyalin binari yang kita unduh ke folder yang diperlukan tempat kita ingin mengkonfigurasi node kubernetes.

Gunakan metode yang sama untuk menyalin file yang kami lakukan untuk kubernetes master. Karena ini hanya akan menjalankan kubelet dan kube-proxy, kami akan mengkonfigurasinya.

$ cp <Path of the extracted file>/kubelet /opt/bin/
$ cp <Path of the extracted file>/kube-proxy /opt/bin/
$ cp <Path of the extracted file>/kubecfg /opt/bin/
$ cp <Path of the extracted file>/kubectl /opt/bin/
$ cp <Path of the extracted file>/kubernetes /opt/bin/

Sekarang, kita akan menyalin konten ke direktori yang sesuai.

$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/

Kami akan mengkonfigurasi kubelet dan kube-proxy conf file.

Kami akan mengkonfigurasi /etc/init/kubelet.conf.

$ KUBELET_OPTS = "--address = 0.0.0.0 \
--port = 10250 \
--hostname_override = kube-minion \
--etcd_servers = http://kube-master:4001 \
--enable_server = true
--v = 0"
/

Untuk kube-proxy, kami akan mengkonfigurasi menggunakan perintah berikut.

$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \
--v = 0"
/etc/init/kube-proxy.conf

Terakhir, kami akan memulai ulang layanan Docker.

$ service docker restart

Sekarang kita selesai dengan konfigurasi. Anda dapat memeriksa dengan menjalankan perintah berikut.

$ /opt/bin/kubectl get minions