Iso centos: Главная — CentOS Wiki

Настройка кластера K8S на 3 хостах CentOS / Хабр

Друзья, привет!

Как-то томным осеннем вечером взбрело мне в голову начать изучать Kubernetes. Прочитал много разных статей и литературы, и понял, что нужно приступать к опытам на живую. И для этого мне необходимо поднять кластер у себя локально на компьютере. Minikube использовать не хотел так как в реальности одноузлового кластера нигде не встретишь. Поэтому было решено развернуть его у себя локально на трех узлах с использованием VirtualBox. Но полностью рабочего гайда по настройке, без каких-либо подводных камней я так и не нашел. Поэтому пропустив через себя множество всяких статей, страницы официальной доки кубера и всякую литературу по нему, хочу поделиться с вами своим опытом настройки кластера. Не судите, пожалуйста, строго это моя первая статья и первый кластер K8S.

Настройка виртуалок

В качестве OS для наших узлов я выбрал CentOS 9. Скачиваем его с http://centos-mirror.rbc.ru/pub/centos/7.9.2009/isos/x86_64/ и выбираем минимальный образ CentOS-7-x86_64-Minimal-2009. iso

Далее настроим наши виртуальные машины (ВМ), на которых будет развернут кластер. Я буду делать это в VirtualBox версии 6.1.34 r150636 (https://www.virtualbox.org)

Создадим шаблонную ВМ с именем kube_node_template. И задаем ей 2Гб оперативы.

Дадим ему 10 ГБ места на диске.

Дадим ему 2 ядра

 

И установим адаптер сети

 

В разделе «Носители» нужно будет выбрать виртуальный привод. Здесь уже отображается файл виртуального диска, но он почти пустой, так как операционная система еще не была установлена. Поэтому для установки системы нужно будет выбрать ISO файл образа с операционной системой.

Нажмите на «Пусто», в правой части окна напротив пункта «Оптический привод» нажмите на кнопку с изображением диска, а затем в контекстном меню выберите пункт «Выбрать файл диска ». И выбираем свой скаченный iso файл CentOS-7-x86_64-Minimal-2009.iso.

Переходим к установке операционной системы и создания пользователя. Нажимаем «Запустить» нашу ВМ.

И выбираем Install CentOS 7

Создаем пользователей.

Задаю пароль для root и создаю пользователя kube_admin.

После того как наша ОС установится, отключим работу со swap памяти, так как K8S работу с ним не поддерживает. (Swap -это файл подкачки, механизм виртуальной памяти перемещающий отдельные фрагменты памяти из оперативной памяти на жёсткий диск, внешний накопитель, специально выделенный раздел или файл, тем самым выполняя своё предназначение и освобождая оперативную память для других активных фрагментов памяти.)

Проверим что он есть командой SUDO SWAPON -S а затем отключим его SUDO SWAPOFF -A

И сделаем так чтобы при перезагрузке системы он опять не включился. В sudo vi /etc/fstab комментируем последнюю строку

После чего для применения настроек делаем ребут системы и проверяем sudo shutdown -r now

Далее включим ethernet adapter. Для этого отредактируем файл sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 и включим ONBOOT=yes

Сделаем рестрат sudo shutdown -r now и проверим командой ip addr

Далее мы из нашего шаблона создадим 3 ВМ, которые будут нашими нодами кластера. Одна будет мастером и две воркер. Выбираем в VirtualBox клонировать. Указываю имя и в политике MAC-адреса выбираем сгенерировать новый MAC

Получилось 3 виртуалки

Запускаем их. Далее нам необходимо сделать статические IP для наших ВМ. Для этого нужно отредактировать файлы ifcfg-enp0s3 в каталоге sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s в ipaddr указываем нужный нам ip

Выполняем ребут сервера sudo shutdown -r now и проверим командой ip addr что IP адресс для адаптера enp0s3 изменился на указанный нами в конфиге

Делаем это на всех наших ВМ кластер, только указываем другой IPADDR.

Теперь для удобства мы можем подклюичться к нашим ВМ машинам по SSH. Я буду делать это через MobaXterm (https://mobaxterm.mobatek.net) это также можно сделать через обычную командную строку вашего компьютера. Но я привык к MOBA.

Жмем создать сессию и указываем IP адрес ВМ

Переименуем наши хосты чтобы в дальнейшем не путаться (пример для мастера). Для этого в sudo vi /etc/hostname указываем имя нашей ноды. В данном случае это master

Добавим все наши хосты в файлик /etc/hosts, чтобы можно было обращаться к нашим хостам по имени узла

Делаем ребут сервера и проверяем (Ну или можно перезапустить службу sudo systemctl restart systemd-hostnamed но нужно будет перезайти в виртуалку). Проверяем чьл поменялось имя машины с localhost на master и можно сделать пинг по имени машины например worker2

Теперь необходимо открыть следующий список TCP-портов в брандмауре firewalld. Проверить что он запущен можно с помощью sudo systemctl status firewalld.service. Проверить список открытых портов sudo firewall-cmd —list-all

На мастер ноде откроем следующие порты и перезапустим службу firewalld. Чтобы это правило действовало постоянно добавьте –permanent

sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10252/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --permanent --add-port=8472/udp
sudo firewall-cmd --add-masquerade --permanent
sudo firewall-cmd --permanent --add-port=30000-32767/tcp

И рестартуем службу sudo systemctl restart firewalld

Проверяем sudo firewall-cmd —list-all

На воркерах открываем следующие и также ребутаем службу.

sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --permanent --add-port=8472/udp
sudo firewall-cmd --permanent --add-port=30000-32767/tcp
sudo firewall-cmd --add-masquerade --permanent

Отключим SELinux. Для этого в sudo vi /etc/sysconfig/selinux нужно указать disabled

Также для K8S необходимо чтобы все пакеты проходящие через сетевые мосты обрабатывались через iptables. Для этого необходимо установить переменную ядра net.bridge.bridge-nf-call-iptables=1:

sudo cat << EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables=1
EOF

И загрузим его в ядро командой sudo modprobe br_netfilter

И выполняем рестарт sudo sysctl —system

Для выкачивания пакетов из интернета нам необходимо сделать следующие настройки. В sudo vi /etc/resolv.conf добавив в него nameserver 8.8.8.8

А также в sudo vi /etc/sysconfig/network добавить NETWORKING=yes и GATEWAY=192. 168.1.1

И выполняем рестарт сервера sudo shutdown -r now

Настройка master ноды

Устанавливаем containerd

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y containerd.io
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

Перезаупскаем службу

sudo systemctl enable containerd
sudo systemctl start containerd
sudo systemctl status containerd

Переходим к установке K8S

Добавим репозиторий кубера в пакетный менеджер:

sudo cat > tee /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

Перезачитаем кэш yum sudo yum makecache fast

Переходим к настройке мастер узла:

sudo yum -y install kubelet kubeadm kubectl
sudo systemctl enable kubelet. service
sudo systemctl start kubelet.service
sudo systemctl status kubelet.service

Ставим Flannel

Сетевой плагин Flannel настраивает сетевое взаимодействие между контейнерами.

sudo yum install wget
sudo wget https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
grep -i network kube-flannel.yml

Далее запускаем инициализацию нашей мастер ноды с указанием подсети которую создал flannel 10.244.0.0/16

sudo kubeadm init --pod-network-cidr 10.244.0.0/16

Инициализация занимает несколько минут и результатом ее выполнения будет:

Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
  export KUBECONFIG=/etc/kubernetes/admin. conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.100:6443 --token 1lbb8b.o2haph59cvjdc679 --discovery-token-ca-cert-hash sha256:b16ceb25ebf3b9f04e82c32310f2e98f0d755b9127cb85f225bff5cab495ee12

на мастер ноде выполним команды из строк 5-7. Таким образом мы скопируем конфигурационный файл в домашнюю директорию. Строка 19 это токен для подключения воркер узлов к мастеру.

Настраиваем воркеры

Настраиваем containerd и kubernetes также как и для мастер узла. После настройки используем наш токен из 19 строки. И затем проверяем что все наши ноды добавились и активны командой kubectl get nodes

Установка веб консоли K8S

На мастер ноде выполняем команду с помощью которой мы скачали файлик со всеми ресурсами для настройки UI

wget https://raw. githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

Дальше нам необходимо чтобы была возможность подключаться с нашего компьютера к кластеру через браузер. Нам нужно настроить ресурс Service. Добавляем type: NodePort и указываем любой порт nodePort в диапазоне 30000-32767.

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30555
  selector:
    k8s-app: kubernetes-dashboard

После выполняем kubectl apply -f recommended.yaml В результате которого создаются все описанные в файле recommended.yaml ресурсы.

Проверяем что создалась наша служба (Service) с типом NodePort: kubectl get svc -n kubernetes-dashboard

Смотрим на какой ноде развернут наш pod для UI: kubectl get pods -o wide -n kubernetes-dashboard

В моем случае это worker2 у которого айпишник 192. 168.1.52

Идем в браузер и проверяем https://192.168.1.52:30555

Теперь необходимо настроить админскую учетку. Для примера можно посмотреть тут https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md. Создадим файл sudo vi admin-user.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

И применим его kubectl apply -f admin-user.yaml

После создадим токен с помощью которого залогинимся в UI kubectl -n kubernetes-dashboard create token admin-user копируем его и заходим.

Готово: мы настроили свой кластер!

ISO-образов Oracle Linux | Оракл, программное обеспечение.

Аппаратное обеспечение. Полный.

Оракул

  • Дом
  • Поддержка
  • Документация
  • загрузок
Оставайтесь на связи:
  • Facebook
  • Твиттер
  • LinkedIn
  • Ютуб
  • Блог
  • Главная > 
  • загрузок > 
  • Загрузки: Установочный носитель Oracle Linux

Установочный носитель Oracle Linux

Эта страница содержит образы ISO для трех последних обновлений выпусков Oracle Linux. С 2006 года Oracle Linux можно загрузить и использовать совершенно бесплатно. Бесплатный исходный код, двоичные файлы и обновления. Свободно распространяемый. Бесплатно для производственного использования.

Существует несколько видов образов ISO:

  • Полный ISO : содержит все необходимое для загрузки системы и установки Oracle Linux.
  • UEK Boot ISO : содержит все необходимое для загрузки системы с Unbreakable Enterprise Kernel (UEK) и запуска установки
  • Boot ISO : содержит все, что требуется для загрузки системы с ядром, совместимым с Red Hat (RHCK), и запуска установки
  • Исходный код ISO : содержит исходные коды пакетов, включенных в Полный ISO.

Ниже вы узнаете, как проверить целостность этих загрузок, как установить Oracle Linux, в том числе с USB-накопителя, и где найти неофициальные зеркала загрузки.

ISO-образы Oracle Linux x86_64

ISO-образы Oracle Linux доступны для загрузки для x86_64
9,2 OracleLinux-R9-U2-x86_64-dvd.iso OL9U2 x86_64-boot.iso ОЛ9U2 x86_64-boot-uek.iso OracleLinux-R9-U2-src-dvd. iso
9.1 OracleLinux-R9-U1-x86_64-dvd.iso OL9U1 x86_64-boot.iso OL9U1 x86_64-boot-uek.iso OracleLinux-R9-U1-src-dvd.iso
9,0 OracleLinux-R9-U0-x86_64-dvd.iso OL9U0 x86_64-boot.iso OL9U0 x86_64-boot-uek.iso OracleLinux-R9-U0-src-dvd.iso
8,8 OracleLinux-R8-U8-x86_64-dvd.iso OL8U8 x86_64-boot.iso OL8U8 x86_64-boot-uek.iso OracleLinux-R8-U8-src-dvd.iso
8,7 OracleLinux-R8-U7-x86_64-dvd.iso OL8U7 x86_64-boot.iso OL8U7 x86_64-boot-uek.iso OracleLinux-R8-U7-src-dvd.iso
8,6 OracleLinux-R8-U6-x86_64-dvd.iso OL8U6 x86_64-boot. iso OL8U6 x86_64-boot-uek.iso OracleLinux-R8-U6-src-dvd.iso
7,9 OracleLinux-R7-U9-Server-x86_64-dvd.iso OL7U9 x86_64-boot.iso OL7U9 x86_64-boot-uek.iso OracleLinux-R7-U9-src-dvd1.iso
OracleLinux-R7-U9-src-dvd2.iso
7,8 OracleLinux-R7-U8-Server-x86_64-dvd.iso OL7U8 x86_64-boot.iso OL7U8 x86_64-boot-uek.iso OracleLinux-R7-U8-src-dvd1.iso
OracleLinux-R7-U8-src-dvd2.iso
7,7 OracleLinux-R7-U7-Server-x86_64-dvd.iso OL7U7 x86_64-boot.iso OL7U7 x86_64-boot-uek.iso OracleLinux-R7-U7-src-dvd1.iso
OracleLinux-R7-U7-src-dvd2.iso
6.10 OracleLinux-R6-U10-Server-x86_64-dvd.iso OL6U10 x86_64-boot. iso OL6U10 x86_64-boot-uek.iso OracleLinux-R6-U10-src-dvd1.iso
OracleLinux-R6-U10-src-dvd2.iso
6,9 OracleLinux-R6-U9-Server-x86_64-dvd.iso OL6U9 x86_64-boot.iso OL6U9 x86_64-boot-uek.iso OracleLinux-R6-U9-src-dvd1.iso
OracleLinux-R6-U9-src-dvd2.iso
6,8 OracleLinux-R6-U8-Server-x86_64-dvd.iso OL6U8 x86_64-boot.iso OL6U8 x86_64-boot-uek.iso OracleLinux-R6-U8-src-dvd1.iso
OracleLinux-R6-U8-src-dvd2.iso

Oracle Linux Arm (aarch64) ISO

ISO-образы Oracle Linux доступны для загрузки для aarch64
9,2 OracleLinux-R9-U2-aarch64-dvd.iso OL9U2 aarch64-boot-uek.iso OracleLinux-R9-U2-src-dvd. iso
9.1 OracleLinux-R9-U1-aarch64-dvd.iso OL9U1 aarch64-boot-uek.iso OracleLinux-R9-U1-src-dvd.iso
9,0 OracleLinux-R9-U0-aarch64-dvd.iso OL9U0 aarch64-boot-uek.iso OracleLinux-R9-U0-src-dvd.iso
8,8 OracleLinux-R8-U8-Server-aarch64-dvd.iso OL8U8 aarch64-boot-uek.iso OracleLinux-R8-U8-src-dvd.iso
8,7 OracleLinux-R8-U7-Server-aarch64-dvd.iso OL8U7 aarch64-boot-uek.iso OracleLinux-R8-U7-src-dvd.iso
8,6 OracleLinux-R8-U6-Server-aarch64-dvd.iso OL8U6 aarch64-boot-uek.iso OracleLinux-R8-U6-src-dvd.iso
7,9 OracleLinux-R7-U9-Server-aarch64-dvd. iso OL7U9 aarch64-boot-uek.iso OracleLinux-R7-U9-src-dvd1.iso
OracleLinux-R7-U9-src-dvd2.iso
7,8 OracleLinux-R7-U8-Server-aarch64-dvd.iso OL7U8 aarch64-boot-uek.iso OracleLinux-R7-U8-src-dvd1.iso
OracleLinux-R7-U8-src-dvd2.iso
7,7 OracleLinux-R7-U7-Server-aarch64-dvd.iso OL7U7 aarch-boot-uek-20190809.iso OracleLinux-R7-U7-src-dvd1.iso
OracleLinux-R7-U7-src-dvd2.iso

Проверка загрузок

Загрузки Oracle Linux можно проверить, чтобы убедиться, что они являются именно теми загрузками, которые были опубликованы Oracle, и что они были загружены без каких-либо повреждений. Информацию о файлах контрольной суммы, ключах подписи и действиях по проверке целостности загрузок см. в этих инструкциях.

Руководства по установке

  • Руководства по установке: Oracle Linux 7, Oracle Linux 8, Oracle Linux 9
  • Создание установочного USB-носителя для Oracle Linux с помощью Fedora Media Writer

Неофициальные зеркала загрузки

Помимо перечисленных выше местоположений и Oracle Software Delivery Cloud, ISO-образы Oracle Linux можно загрузить с нескольких зеркальных сайтов. Обратите внимание, что эти сайты не одобрены Oracle, но вы можете проверить загруженные файлы, используя описанную выше процедуру.

Техническая информация

  • Сертифицированное оборудование Oracle Linux
  • Поддерживаемые выпуски Oracle Linux

Поддержка Oracle Linux

  • Поддержка Oracle Linux
  • Поддержка Oracle Premier для систем
  • Расширенное обслуживание клиентов

Подключиться

  • Facebook
  • Твиттер
  • LinkedIn
  • Ютуб
  • Блог

Свяжитесь с нами

  • Глобальные контакты
  • Оракл 1-800-633-0691

Подписаться | Карьера | Свяжитесь с нами | Юридические уведомления | Условия использования | Ваши права на конфиденциальность

Загрузка Red Hat Enterprise Linux

Легкий доступ к более безопасной ОС, более крупной экосистеме и более широкому выбору языков и инструментов разработчика для создания и развертывания приложений в гибридном облаке.

Бесплатная загрузка RHELДругие способы попробовать

  Рекомендуется

Бесплатная подписка на RHEL для разработчиков

Эта подписка включает:

  • Red Hat Enterprise Linux предоставляется по этой подписке только для индивидуальных разработчиков. Варианты корпоративной и корпоративной подписки см. здесь.
  • Red Hat Enterprise Linux Server (все поддерживаемые в настоящее время выпуски)
  • Дополнительные средства разработки
  • Многочисленные надстройки, такие как отказоустойчивое хранилище, масштабируемые файловые системы и высокопроизводительная сеть
  • Доступ к порталу клиентов Red Hat для получения обновлений программного обеспечения и тысяч статей, основанных на знаниях

Читать FAQ

  Рекомендуется

Бесплатная подписка RHEL для разработчиков

Эта подписка включает:

  • только индивидуальные разработчики. Варианты корпоративной и корпоративной подписки см. здесь.
  • Red Hat Enterprise Linux Server (все поддерживаемые в настоящее время выпуски)
  • Дополнительные средства разработки
  • Многочисленные надстройки, такие как отказоустойчивое хранилище, масштабируемые файловые системы и высокопроизводительная сеть
  • Доступ к порталу клиентов Red Hat для получения обновлений программного обеспечения и тысяч статей, основанных на знаниях

Активируйте подписку Прочтите FAQ

Готовы использовать RHEL в производственной среде?

  • Чтобы узнать больше, свяжитесь с торговым представителем.
  • Ознакомьтесь с вариантами подписки в магазине Red Hat.

● Получите Red Hat Enterprise Linux (RHEL)

Образы RHEL для публичного и частного облака

Создавайте установочные диски и виртуальные машины вместе с Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure и образами, готовыми к использованию VMWare, для вашего развертывания.

Образ AWS, GCP, Azure Cloud

Образ VMWare

Образ виртуального гостя

Образ RHEL для «голого железа»


ISO-образ сервера RHEL

Загрузите ISO-образ сервера RHEL и настройте рабочие станции для создания своих приложений.

Последняя версия RHEL 9.2

RHEL x86_64

RHEL ARM 64

Другие версии RHEL


RHEL для решений SAP и RHEL для приложений SAP

Получите специальные пакеты RHEL для рабочих нагрузок SAP, таких как SAP S/4HANA и платформа SAP HANA.

RHEL для решений SAP

RHEL для приложений SAP


● Обновляйте свою операционную систему

Получайте последние исправления и рекомендации для вашей операционной системы.

    Получите рекомендации по рискам доступности, производительности и стабильности.

    Управляйте рисками уязвимости, заранее определяя их и концентрируясь на наиболее важных.