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ên PROFITBRICKS nếu bạn chưa thiết lập cơ sở hạ tầng vật lý hoặc đám mây.

Sau khi 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 Master và Node .

Lưu ý – 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

Cài đặt Docker – Docker là bắt buộc 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.

Kubernetes - Thiết lập

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

Bước 2 – Cập nhật thông tin gói. Đảm bảo rằng gói apt đang hoạt động.

Bước 3 – Chạy các lệnh sau.

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

Bước 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

Bước 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.

Bước 1 – Đăng nhập vào máy.

Bước 2 – Cập nhật chỉ mục gói.

$ sudo apt-get update

Bước 3 – Cài đặt Docker Engine bằng lệnh sau.

$ sudo apt-get install docker-engine

Bước 4 – Khởi động trình nền Docker

$ sudo apt-get install docker-engine

Bước 5 – Để xem Docker đã được cài đặt 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 cái này 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 một _output dir trong thư mục gốc của thư mục kubernetes. Tiếp theo, chúng ta có thể giải nén thư mục vào bất kỳ thư mục nào mà chúng ta 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 đã xây dựng 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 chính, chúng ta cần chỉnh sửa tệp / etc / default / kube-apiserver mà chúng ta đã 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 và 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.

Kubernetes - Thiết lập

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ẽ định cấu hình các tệp conf kubelet và kube-proxy . Chúng tôi sẽ định 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 thành 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

Kubernetes – Hình ảnh (xem thêm)

Trả lời