คำ เตือน! บท ความ ไม่ ใช้ Как นะ คร๊าบ 😘 😘 😘 😘 😘
ใน การ ต้น ทำ ความ รู้จัก กับ 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 | Романа | Плетение сеть |
- Калико : เป็น Flat Layer 3 Сеть ที่ สาร กัน โดย ไม่ มี IP -инкапсуляция ใช้ ทั้ง ทั้ง Kubernetes, OpenShift, Docker, Mesos และ OpenStack เป็น сетевая модель ที่ และ ยืดหยุ่น สามารถ Scale ใน ใหญ่ ๆ ได้ ดี ทำ ทำ ได้ และ และ ยืดหยุ่น สามารถ ใน ระบบ ๆ ได้ ดี ทำ ทำ ได้ และ ง่าย ยืดหยุ่น สามาถ ใช้ Опция Canal เพื่อ Интегрировать กับ фланель ได้ Фланель
- : เป็น Layer 3 IPv4 Network ที่ เชื่อ ต่อ ระหว่าง узлы ใน кластер ได้ การ พัฒนา โดย Coreos สามารถ ใช้ Бэкэнд механизм ได้ หลาย เช่น เช่น vxlan เป็น ต้น มี flanneld
เป็น Агент хоста
Kube-Router - : претензия ว่า เป็น «Одиночный двоичный, сделай все это» ยัง ใน ใน Альфа -стадия และ แผน ว่า จะ มี Распределенный балансировщик нагрузки, брандмауэр และ маршрутизатор ทำ เพื่อ เพื่อ kubernetes โดย เฉพาะ เฉพาะ เฉพาะ เฉพาะ เฉพาะ เฉพาะ เฉพาะ โดย โดย เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ เพื่อ Романа
- : เป็น อีก Project ที่ เน้น Автоматизация ของ сеть และ Безопасность สามาถ ใช้ กับ кластер ใหญ่ ได้ ได้ Топология с учетом iPam และ Интегрировать กับ Kops
ได้
Плетение сети - : เป็น Дополнение ที่ ได้ มาตรฐาน CNI
Интерфейс сети контейнеров (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
Построение ด้วย Docker :
$ 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»