Рубрики
Uncategorized

LFS258 [2/15]: Установка и конфигурация Kubernetes

คำ เตือน! บท ความ ไม่ ใช้ ใช้ Как นะ คร๊าบ 😘 Инструменты установки ใน เริ่ม เริ่ม ต้น ทำ ความ รู้จักก … Tagged с LFS258, Kubernetes, DevOps.

คำ เตือน! บท ความ ไม่ ใช้ Как นะ คร๊าบ 😘 😘 😘 😘 😘

ใน การ ต้น ทำ ความ รู้จัก กับ Kubernetes แค่ อ่าน อย่าง คง เบื่อ แย่ มัน ต้อง มี кластер ของ ตัว เอง ซัก ซัก การ ที่ ได้ มา ซึ่ง ก็ มี 4 วิธี ให้ เลือก เลือก เลือก เลือก เลือก

  • เล่น ผ่าน Интернет : Играть с Kubernetes และ Катакода เหมาะ สำหรับ การ Пройти через เพื่อ ความ รู้จัก เบื้อง ต้น ต้น ต้น ต้น
  • ใช้ Управляемая служба ของ Облачный провайдер ซึ่ง ส่วน จะ มี бесплатный уровень ให้ ลอง ใช้ กัน เช่น GKE ของ Google Cloud, AKS ของ Azure, Eks ของ AWS และ ใหม่ อย่าง Ack ของ Alibaba Cloud เป็น ต้น
Гер Акс Эк Ак
  • ลง มื่อ สร้าง ตัว เอง แบบ แบบ одно узловой кластер ซึ่ง เพียงพอ การ ทำ ความ เข้าใจ เบื้อง ต้น โดย สาม รถ ใช้ Инструменты เช่น minikube ซึ่ง จะ เป็น การ Скачать гость Linux ที่ มี Kubernetes เรียบร้อย แล้ว มา Запуск บน virtualbox ของ เรา หรือ หรือ หรือ หรือ หรือ หรือ Microk8s ที่ มี ใน Ubuntu 16.04 และ 18.04 ซึ่ง เป็น ของ каноническое หรือ เป็น เป็น Hyperkube ซึ่ง เป็น เป็น เป็น เป็น ที่ มี kubernetes อยู่ ใน นั้น นั้น นั้น นั้น นั้น
Minikube Microk8s
  • ลง เป็น Multi-Node Cluster ถ้า อยาก ความ เข้าใจ ให้ มาก ขึ้น โดย ใช้ Инструменты kubeadm ซึ่ง เป็น Инструмент, используемый сообществом, ใน การ Настройка кластера Kubernetes ที่ ลง และ ไม่ ยึด ติด กับ Платформа ใด ๆ, ถ้า อยาก ได้ รูป เลย อาจ ใช้ พวก Автоматизация อย่าง Kubespray หรือ Kops แต่ Kops ต้อง ใช้ บน AWS เท่า นั้น
кубидм Kubespray коп

kubectl เป็น Команда ที่ ใช้ ใน การ Настройка และ Управление кластером Kubernetes ถ้า ไม่ ใช้ kubectl เรา ก็ สามารถ การ การ Kubernetes Cluster ของ ได้ เช่น กัน โดย ใช่ Curl หรือ เขียน Клиент โดย ใช้ ใช้ ใช้ ใช้ Библиотека Go เช่น แต่ ชีวิต ก็ จะ ลำบากหน่อย ๆ ๆ ๆ ๆ ๆ

การ ที่ ได้ มา ซึ่ง kubectl มี 3 ทาง

  • Установите จาก Ответка ของ ที่ เรา ใช้ เช่น ถ้า ใช้ rhel7/centos7 kubectl จาก อยู่ ใน Пакет Kubernetes-Client
  • Загрузите релиз перед сборкой จาก GitHub ผม แนะนำ นี้ เพราะ จะ ได้ kubectl Версия ตรง กับ kubenetes cluster ของ และ ไม่ ต้อง Компиля เอง ให้ ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก ยุ่งยาก
  • Загрузите исходный код จาก GitHub มา Компиля เอง วิธี นี้ เฉพาะ ตอน ที่ อยากลอง หรือ หรือ หรือ หรือ หรือ ถ้า ถ้า ถ้า ถ้า ไหน ลง kubernetes ได้ ใช้ ใช้ Предварительное выпуск ได้ แน่นอน แน่นอน แน่นอน แน่นอน

Команда kubectl จะ อ่าน Настройка จาก ~/.kube/config เพื่อ Подключите ไป ยัง кластер ของ ใน ใน файл นี้ จะ ประกอบ ด้วย ด้วย ด้วย ด้วย

  • кластеры : เป็น ราย ละเอียด ของ кластер เช่น ชื่อ кластер, учетные данные ของ кластер และ URL ของ Kube-Apiserver (конечная точка)
  • Пользователи : เป็น Имя пользователя และ учетные данные ของ Пользователь นั้น ๆ
  • Контексты : เป็น ชื่อ контекст, ชื่อ кластер และ имени пользователя ที่ ใช้ ใน подключение ไป ยัง кластер นั้น ๆ ๆ ๆ ๆ ๆ ๆ

เรา สามารถ Контекст переключения เพื่อ เปลี่ยน Пользователь ที่ Вход เข้า ไป ใน кластер หรือ เปลี่ยน кластер ที่ ได้ โดย ใช้ kubectl config use-context

Ссылка: Книга Kubectl

การ Установите minikube นั้น ง่าย แค่ ไป ไป ไป ไป ไป ไป ไป ต้อง ต้อง แน่ใจ แน่ใจ ก่อน ว่า เครื่อง เรา Установите гипервизор KVM หรือ VirtualBox ไว้ แล้ว

สามารถ อ่าน วิธี การ настройка ได้ จาก Док ของ Kubernetes ได้ เลย

ทำ เสร็จ ก็ ลอง ทำ Lab ของ Kubernetes ได้ เลย เลย เลย

โดย ใน vm ที่ Minikube run ขึ้น มา มา มา มา ภาย ใย จะ การ การ запустить двоичный ชื่อ localkube ซึ่ง จะ ไป Запустить компоненты ของ Kubernetes ทั้งหมด ขึ้น มา ให้ เรา งาน และ Средство выполнения контейнера ที่ minikube ทำ ให้ เรา คือ Докер

เรา มา สร้าง кластер จริง กัน บ้าง บ้าง kubeadm เป็น Инструмент ที่ ไป ตรง มา ที่ สุด ใน การ การ การ การ แต่ แต่ Kubernetes v1.4.0 และ สถานะ จาก จาก เป็น เป็น เป็น ด้วย ใน ใน Kubernetes v1.15.0 พร้อม เพิ่ม เข้า ไป ด้วย ด้วย ด้วย ด้วย ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป ไป

สามารถ ดู วิธี การ Установка kubeadm ได้ จาก

จาก นั้น ลอง Настройка кластер แบบ Одиночная плоскость управления (ไม่ มี HA) ได้ จาก จาก

และ ลอง ใหม่ แบบ ที่ มี ha ได้ จาก

ใน การ Присоединяйтесь к кластеру ของ кубидм นั้น ต้อง ใช้ токен ที่ hash ด้วย sha256 เป็น อย่าง ต่ำ โดย นี้ จะ ได้ มา หลัง จาก ที่ เรา เรา เรา ต่ำ โดย นี้ ได้ มา หลัง จาก ที่ เรา Запуск kubeadm init ที่ Мастер -узел สำเร็จ

Шаг ใน การ настройка кластер คร่าว จะ แบบ นี้ นี้

  • Kueadm init ที่ Мастер -узел
  • Создать кластерную сеть เช่น kubectl create -f https://git.io/weave-kube
  • kubeadm join -token https://: ที่ рабочие узлы

เมื่อ ทุก อย่าง เรียก ร้อย อย่า ลืม Копировать конфигурацию ของ kubectl ทา ไว้ ที่ ที่ ของ ของ ที่ จะ ใช้ งาน kubectl

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

จาก นั้น นั้น และ และ ก็ ก็ ใช้ ใช้ kubectl เพื่อ взаимодействие กับ кластер ได้ แล้ว

ก่อน ที่ จะ Начальный кластер ต้อง เลือก сеть ให้ เสีย ก่อน ว่า จะ จะ อะไร เพราะ ต้อง วาง แผน IP ไว้ ให้ ดี ให้ มี IP ซ้ำ โดย Сеть ที่ ๆ มี ดัง ต่อ ไป นี้ นี้ นี้

Калико Фланель Kube-Router Романа Плетение сеть

Интерфейс сети контейнеров (CNI) เป็น Проект ของ CNCF ที่ จะ ทำ ให้ сеть ใน ของ ของ เป็น ไม่ ไม่ ผูก ติด กับ กับ ใด ใด หนึ่ง และ กำลัง รับ ความ นิยม เป็น อย่าง มาก มาก มาก มาก มาก มาก มาก

Kubernetes ก็ เหมือน Приложение ทั่ว ที่ เรา ลง ใน ใน Сервер ดัง นั้น สามารถ ใช้ ใช้ Система управления конфигурацией เช่น Chef, Puppet, Ansible หรือ Terraform ใน ลง แบบ ได้ โดย โดย โดย โดย โดย โดย Инструменты ที่ สามารถ ใช้ ได้ มี ดัง นี้ นี้ นี้ นี้ นี้

  • Kubespray
  • Kops : ทำ ให้ การ Настройка кластера kubernetes บน aws เป็น เรื่อง ไม่ ตอน นี้ กำลัง ทำ ให้ ใช้ ได้ บน gke, VMware และ OpenStack แต่ ยัง Бета -версия อยู่
  • Kube-aws : เป็น Инструмент ที่ ใช้ Формирование облаков функций ของ AWS ใน การ Cluster Setup
  • Кубикон : ทำ ให้ kubeadm Настройка кластера ได้ ขึ้น เค้า เค้า ว่า ว่า มี มี Зависимость เกี่ยว กับ dns, запуск ได้ หลาย OS, สามารถ кластер снимков แล้ว ไป ที่ อื่น ได้ ได้ ได้ ได้ ได้ ได้ ได้ ได้ ได้ ได้ ได้ อื่น

ถ้า อยาก เข้าใจ การ Настройка kubernetes แบบ ลึกซึ้ง … ใน ทำ ตาม «Прохождение Kelsey Hightower: Kubernetes трудный путь» ลึกซึ้ง จริง นะ ผม ลอง มา แล้ว แล้ว แล้ว แล้ว

ก่อน อื่น ควร ลอง Установка แบบ Одиночный узел ด้วย minikube ก่อน จาก นั้น ค่อย ลอง ทำ кластер многоузет โดย ก่อน การ Настройка кластера ให้ คำ ถาม เหล่า นี้ ก่อน

Провайдер จะ ลง ใน Платформа ไหน Public หรือ частное облако ลง บน Физическое หรือ VM
Операционные системы จะ ใช้ OS อะไร?
Сеть จะ ใช้ сетевой провайдер ไหน? เป็น наложение ไหม?
И т.д. จะ Установить и т. Д. แบบ автономный หรือ кластер จะ ใน ใน kubenetes หรือ นอก นอก
Ха จะ ทำ Ha ให้ กับ Master ไหม?

รูปแบบ ใน การ Настройка кластера Kubernetes มี 4 แบบ ให้ เลือก ดัง นี้ นี้ นี้ นี้ นี้ นี้ นี้

  • Одиночный узел : สำหรับ ทดสอบ เรียน รู้ หรือ หรือ พัฒนา Приложение เบื้อง ต้น
  • Одиночный мастер, несколько работников : สำหรับ การ เรียน รู้ หรือ พัฒนา Приложение ที่ ต้อง อาศัย функция кластеризации
  • Несколько мастеров с HA, несколькими работниками : เพื่อ ความ น่า เชื่อถือ ของ ระบบ สามารถ ใช้ ใน Производство ได้ แต่ ต้อง มี Балансировщик нагрузки วาง หน้า หน้า кластер เพื่อ Обмен трафик มา ยัง рабочие узлы และ จาก Узел рабочего ไป ยัง Master Node ที่ เป็น Лидер
  • HA etcd, HA Masters, несколько работников : น่า เชื่อถือ สุด ๆ เพราะ ha ทุก Компонент อาจ เอา etcd ไป ไว้ นอก кластер เพื่อ เพิ่ม Надежность

เรา สามารถ ทำ Федерация เพื่อ เพิ่ม ha ระหว่าง кластер โดย соединение หลาย ๆ кластеры เข้า ด้วย กัน เพื่อ ให้ ใช้ плоскость управления เดียว กัน ทำ ให้ สามารถ Перемещение ресурс ข้าม кластер เพื่อ кластер หนึ่ง หนึ่ง แต่ ใน นี้ ยัง มี ปัญหา ปัญหา เยอะ เยอะ ปัญหา ปัญหา ปัญหา ปัญหา ปัญหา ปัญหา ปัญหา ปัญหา ปัญหา รอ ดู ว่า v2 ถ้า ดี จะ เป็น ประโยชน์ มาก มาก

ใน การ Настройка кластера Kubernetes ด้วย kubeadm จะ มี แค่ Кубелет เท่า นั้น ที่ Запуск เป็น Стандартный системный демон (SystemD) แต่ เรา สามารถ นำ Компонент อื่น ของ ของ kubernetes ออก มา Запуск เป็น Стандартный системный демон ได้ เช่น กัน กัน กัน กัน กัน กัน กัน กัน กัน เช่น เช่น

Hyperkube เป็น Изображение ใน Репозиторий ของ Google ( gcr )

ใน การ ใช้ งาน Hyperkube ต้อง ลง Кубелет เป็น Системный демон และ Настройка มัน ให้ อ่าน Manifest Files ที่ จะ ระบุ วิธี การ Запуск แต่ละ Компонент โดย แต่ละ Компонент คือ гиперкуб

Список ของ Бинарный релиз สามารถ ดู ใน ใน GitHub แต่ จะ จะ Compile เอง มี 2 ทาง ให้ เลือก

$ mkdir -p $GOPATH/src/k8s.io
$ cd $GOPATH/src/k8s.io
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release

Бинарный จะ อยู่ ที่ _Output/bin

Оригинал: «https://dev.to/peepeepopapapeepeepo/lfs258-2-15-installation-and-configuration-9lo»