Kubernetes - Thiết lập

Điều quan trọng là phải thiết lập Trung tâm dữ liệu ảo (vDC) trước khi thiết lập Kubernetes. Đây có thể coi là một tập hợp các máy mà chúng có thể giao tiếp với nhau qua mạng. Đối với phương pháp thực hành, bạn có thể thiết lập vDC trênPROFITBRICKS nếu bạn chưa thiết lập cơ sở hạ tầng vật lý hoặc đám mây.

Khi quá trình thiết lập IaaS trên bất kỳ đám mây nào hoàn tất, bạn cần định cấu hình MasterNode.

Note- Thiết lập được hiển thị cho các máy Ubuntu. Điều này cũng có thể được thiết lập trên các máy Linux khác.

Điều kiện tiên quyết

Installing Docker- Cần có Docker trên tất cả các phiên bản của Kubernetes. Sau đây là các bước để cài đặt Docker.

Step 1 - Đăng nhập vào máy bằng tài khoản người dùng root.

Step 2- Cập nhật thông tin gói hàng. Đảm bảo rằng gói apt đang hoạt động.

Step 3 - Chạy các lệnh sau.

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

Step 4 - Thêm khóa GPG mới.

$ 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 - Cập nhật hình ảnh gói API.

$ sudo apt-get update

Khi tất cả các tác vụ trên hoàn tất, bạn có thể bắt đầu với quá trình cài đặt thực tế của công cụ Docker. Tuy nhiên, trước khi điều này, bạn cần xác minh rằng phiên bản hạt nhân bạn đang sử dụng là chính xác.

Cài đặt Docker Engine

Chạy các lệnh sau để cài đặt công cụ Docker.

Step 1 - Đăng nhập vào máy.

Step 2 - Cập nhật chỉ mục gói.

$ sudo apt-get update

Step 3 - Cài đặt Docker Engine bằng lệnh sau.

$ sudo apt-get install docker-engine

Step 4 - Khởi động trình nền Docker.

$ sudo apt-get install docker-engine

Step 5 - Để xem Docker đã được cài đặt hay chưa, hãy sử dụng lệnh sau.

$ sudo docker run hello-world

Cài đặt etcd 2.0

Điều này cần được cài đặt trên Kubernetes Master Machine. Để cài đặt nó, hãy chạy các lệnh sau.

$ 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

Trong tập lệnh trên -

  • Đầu tiên, chúng tôi tải xuống etcd. Lưu nó với tên được chỉ định.
  • Sau đó, chúng ta phải mở gói tar.
  • Chúng tôi thực hiện một dir. bên trong thùng có tên / opt.
  • Sao chép tệp đã giải nén vào vị trí đích.

Bây giờ chúng tôi đã sẵn sàng xây dựng Kubernetes. Chúng ta cần cài đặt Kubernetes trên tất cả các máy trong cụm.

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

Lệnh trên sẽ tạo ra một _outputdir trong thư mục gốc của thư mục kubernetes. Tiếp theo, chúng tôi có thể trích xuất thư mục vào bất kỳ thư mục nào mà chúng tôi chọn / opt / bin, v.v.

Tiếp theo, đến phần kết nối mạng, trong đó chúng ta cần thực sự bắt đầu với việc thiết lập nút chính và nút Kubernetes. Để làm điều này, chúng tôi sẽ tạo một mục nhập trong tệp máy chủ lưu trữ có thể được thực hiện trên máy nút.

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

Sau đây sẽ là kết quả của lệnh trên.

Bây giờ, chúng ta sẽ bắt đầu với cấu hình thực tế trên Kubernetes Master.

Đầu tiên, chúng tôi sẽ bắt đầu sao chép tất cả các tệp cấu hình vào đúng vị trí của chúng.

$ 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/

Lệnh trên sẽ sao chép tất cả các tệp cấu hình vào vị trí cần thiết. Bây giờ chúng ta sẽ quay lại cùng một thư mục mà chúng ta đã tạo thư mục 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/

Bước tiếp theo là cập nhật tệp cấu hình đã sao chép trong / etc. dir.

Định cấu hình etcd trên master bằng lệnh sau.

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

Định cấu hình kube-apiserver

Đối với điều này trên bản gốc, chúng tôi cần chỉnh sửa /etc/default/kube-apiserver tệp mà chúng tôi đã sao chép trước đó.

$ 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"

Định cấu hình Trình quản lý bộ điều khiển kube

Chúng ta cần thêm nội dung sau vào /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

Tiếp theo, định cấu hình bộ lập lịch kube trong tệp tương ứng.

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

Khi tất cả các nhiệm vụ trên đã hoàn thành, chúng ta nên tiếp tục bằng cách đưa Kubernetes Master lên. Để làm điều này, chúng tôi sẽ khởi động lại Docker.

$ service docker restart

Cấu hình nút Kubernetes

Nút Kubernetes sẽ chạy hai dịch vụ kubelet and the kube-proxy. Trước khi tiếp tục, chúng ta cần sao chép các tệp nhị phân mà chúng ta đã tải xuống vào các thư mục yêu cầu của chúng, nơi chúng ta muốn định cấu hình nút kubernetes.

Sử dụng cùng một phương pháp sao chép các tệp mà chúng tôi đã làm cho kubernetes master. Vì nó sẽ chỉ chạy kubelet và kube-proxy, chúng tôi sẽ định cấu hình chúng.

$ 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/

Bây giờ, chúng tôi sẽ sao chép nội dung vào dir thích hợp.

$ 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/

Chúng tôi sẽ cấu hình kubeletkube-proxy conf các tập tin.

Chúng tôi sẽ cấu hình /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"
/

Đối với kube-proxy, chúng tôi sẽ cấu hình bằng lệnh sau.

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

Cuối cùng, chúng tôi sẽ khởi động lại dịch vụ Docker.

$ service docker restart

Bây giờ chúng ta đã hoàn tất cấu hình. Bạn có thể kiểm tra bằng cách chạy các lệnh sau.

$ /opt/bin/kubectl get minions