Синьчжуан: Haiguang (x86) + Galaxy Kylin (kylin v10) автономное развертывание k8s и KubeSphere (1)
Синьчжуан: Haiguang (x86) + Galaxy Kylin (kylin v10) автономное развертывание k8s и KubeSphere (1)

В предыдущей статье об автономном развертывании Kunpeng + Kirin некоторые пользователи сети хотели опубликовать документы по автономному развертыванию x86 + Kirin, поэтому этот документ был опубликован. Тяньсин 1-й, публичный аккаунт: Программирование похоже на написание стиховСиньчуан:Кунпэн(arm64)+Кирин(kylin v10) Автономное развертывание k8s и kubesphere (2)

Конфигурация сервера

имя хоста

IP

CPU

OS

использовать

node1

10.11.5.117

Hygon C86 3250

Kylin V10 SP3

Главный узел автономной среды и узел зеркального хранилища

deploy

192.168.200.7

Hygon C86 3250

Kylin V10 SP3

Сетевые хосты используются для создания автономных пакетов.

Реальная боевая среда включает информацию о версии программного обеспечения.

  • серверчип:Hygon C86 3250
  • Операционная система:Кирин V10 SP3 x86_64
  • Docker: 24.0.7
  • Harbor: v2.7.1
  • KubeSphere:v3.3.1
  • Kubernetes:v1.22.12
  • KubeKey: v2.3.0

1. Введение к этой статье

Введение в эту статьюкакКирин V10 X86_64 Производство артефактов и автономное развертывание на сервере архитектуры. KubeSphere и Kubernetes кластер. На машине x86 развертывание Зеркало практически не изменилось. Основное различие заключается в пакете зависимостей, инициализированном k8s, и репозитории, используемом KubeKey в каждой операционной системе. В этой статье будет подробно описан процесс производства продукта и процесса автономной развертывания.

1.1 Подтвердите конфигурацию операционной системы

Прежде чем выполнять следующие задачи, подтвердите конфигурации, связанные с операционной системой.

  • Тип операционной системы
Язык кода:javascript
копировать
[root@localhost ~]# cat /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31
  • ядро операционной системы
Язык кода:javascript
копировать
[root@node1 kubesphere]# uname -a
Linux node1 4.19.90-52.22.v2207.ky10.x86_64 #1 SMP Tue Mar 14 12:19:10 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
  • Информация о процессоре сервера
Язык кода:javascript
копировать
[root@localhost ~]# lscpu
Архитектура:                           x86_64
CPU Режим работы:                   32-bit, 64-bit
Порядок байтов:                         Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU:                             16
онлайн CPU Список:                  0-15
Количество потоков на ядро:                 2
Количество ядер на место:                   8
сиденье:                             1
NUMA узел:                      1
Производитель ID:                        HygonGenuine
CPU ряд:                       24
модель:                           2
Название модели:                       Hygon C86 3250  8-core Processor
Шаг:                           2
CPU MHz:                        2806.567
BogoMIPS:                       5600.35
Виртуализация:                         AMD-V
L1d кэш:                       256 KiB
L1i кэш:                       512 KiB
L2 кэш:                        4 MiB
L3 кэш:                        16 MiB
NUMA Узел 0 CPU:                 0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
отметка:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid a
                                 perfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoex
                                 t perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsave
                                 erptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca

2. Производство установочных пакетов в автономном режиме.

Автономное производство упаковки иОфициальная офлайн-установка[1]немного другой,Главным образом потому, что при использовании официальных указаний,По разным причинам сложно извлечь все Зеркало из продукта.,Не удалось успешно завершить создание продукта.

2.1 Загрузите пакет зависимостей системы Kirin k8s

Вот одно из основных отличий установки k8s на разные операционные системы x86.

Язык кода:javascript
копировать
mkdir -p /root/kubesphere/k8s-init
# Эта команда загрузит
yum -y install openssl socat conntrack ipset ebtables chrony ipvsadm --downloadonly --downloaddir /root/kubesphere/k8s-init
# Написать скрипт установки
vim install.sh
#!/bin/bash
# 

rpm -ivh *.rpm --force --nodeps

# Превратите его в сжатый пакет для удобного использования в автономном режиме.
tar -czvf k8s-init-KylinV10.tar.gz ./k8s-init/*

2.2 Скачать repository ios

Вот второе основное различие между установкой k8s в разных операционных системах x86. В сочетании с предыдущим шагом эти два основных различия являются основными различиями при установке k8s в разных операционных системах x86.

скачатьадрес:KubeKey releases ISO-страница[2]

Система Galaxy Кирин может напрямую использовать iso centos7,Поскольку на предыдущем шаге пакет системных зависимостей был установлен сам по себе.,Это только для того, чтобы kk продолжил выполнение последующих шагов. Если вы хотите полноценно использовать пакет Кирина,ДоступныйПрограммный комплекс Galaxy Кирин[3]скачатьделать。

Местным ученым-компьютерщикам рекомендуется загрузить его из Интернета и загрузить в каталог на сервере. Загрузите эту статью и загрузите ее в /home/k8s/centos-7-amd64.iso.

2.3 Скачатьkk

  • Способ 1
Язык кода:javascript
копировать
lhost kubesphere]# export KKZONE=cn

[root@localhost kubesphere]# curl -sfL https://get-kk.kubesphere.io | VERSION=v2.3.0 sh -

Downloading kubekey v2.3.0 from https://kubernetes.pek3b.qingstor.com/kubekey/releases/download/v2.3.0/kubekey-v2.3.0-linux-amd64.tar.gz ...


Kubekey v2.3.0 Download Complete!

[root@localhost kubesphere]# ls
kk  kubekey-v2.3.0-linux-amd64.tar.gz
  • Способ 2

Использовать локальный компьютер,Идите прямоgithubскачатьKubeKey releases Страница[4] Загрузите в каталог server/root/kubesphere и распакуйте его.

Язык кода:javascript
копировать
tar zxf kubekey-v2.3.0-linux-amd64.tar.gz

2.4 Редактирование файла конфигурации продукта

При использовании примеров официальных документов для создания продуктов возникали различные зеркальные ошибки. Для создания продуктов здесь используется только один образ, busybox. Напишите свои собственные сценарии для других изображений. Преимущества

  • Размер продукта меньше
  • Зеркало Изменения более гибкие
  • Добавляйте/удаляйте компоненты по мере необходимости.

Недостатки

  • Пишите больше скриптов
  • Дополнительный процесс развертывания в автономном режиме
Язык кода:javascript
копировать
[root@node1 k8s]# cat manifest.yaml 
---

apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Manifest
metadata:
  name: sample
spec:
  arches:
  - amd64
  operatingSystems:
  - arch: amd64
    type: linux
    id: kylin
    version: "V10"
    osImage: Kylin Linux Advanced Server V10 (Halberd)
    repository:
      iso:
        localPath: /home/k8s/centos-7-amd64.iso
        url: 
  kubernetesDistributions:
  - type: kubernetes
    version: v1.22.12
  components:
    helm:
      version: v3.9.0
    cni:
      version: v0.9.1
    etcd:
      version: v3.4.13
   ## For now, if your cluster container runtime is containerd, KubeKey will add a docker 20.10.8 container runtime in the below list.
   ## The reason is KubeKey creates a cluster with containerd by installing a docker first and making kubelet connect the socket file of containerd which docker contained.
    containerRuntimes:
    - type: docker
      version: 20.10.8
    crictl:
      version: v1.24.0
    docker-registry:
      version: "2"
    harbor:
      version: v2.5.3
    docker-compose:
      version: v2.2.2
  images:
  ##k8s-images
  - registry.cn-beijing.aliyuncs.com/kubesphereio/busybox:1.31.

Примечание

  • Если вам нужно экспортировать artifact Файл содержит файлы зависимостей операционной системы (например: conntarck, chrony и т. д.), доступно по адресу operationSystem в элементе .repostiory.iso.url Настройте соответствующий ISO Полагайтесь на адрес загрузки файла или загрузите его заранее. ISO Упаковано локально localPath Заполните путь к локальному хранилищу и удалите url Элементы конфигурации.
  • включать harbor и docker-compose Элементы конфигурации, переданные позже KubeKey Самодельный harbor Склад подтолкнет Зеркало к использованию.
  • Создатель по умолчанию manifest Внутри списка Зеркало из docker.io Получать.
  • Может быть изменен в соответствии с реальной ситуацией manifest-sample.yaml Содержимое файла, используемое для последующего экспорта желаемого artifact документ.
  • Вы можете посетить https://github.com/kubesphere/kubekey/releases/tag/v2.3.0 скачать ISO документ.

2.5 Экспорт офлайн-продуктов

Язык кода:javascript
копировать
./kk artifact export -m manifest.yaml -o kubesphere.tar.gz

Примечание Артефакт – это определенный manifest Включено изображение для экспорта содержимого файла. tar Пакеты и связанные двоичные файлы tgz Сумка. существовать KubeKey Его можно указать в командах для инициализации склада Зеркало, созданиякластера, добавления узлов и обновления кластера. artifact,KubeKey автоматически распакует artifact И использовать распакованный файл непосредственно при выполнении команды.

  • При экспорте убедитесь, что сетевое соединение нормальное.
  • KubeKey Он будет анализировать имя Зеркало в списке Зеркало. Если склад Зеркало в имени Зеркало требует аутентификации, вы можете это сделать. manifest в файле .registry.auths Настройте в полевых условиях.

2.6 Вручную извлеките изображения, связанные с k8s.

Язык кода:javascript
копировать
vim pull-images.sh
Язык кода:javascript
копировать
#!/bin/bash
#
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.22.12
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.22.12
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.22.12
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.22.12
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.5
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.8.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.23.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers:v3.23.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/node:v3.23.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol:v3.23.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/typha:v3.23.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/flannel:v0.12.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/provisioner-localpv:3.3.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/linux-utils:3.3.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.3
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/nfs-subdir-external-provisioner:v4.0.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.15.12
  ##kubesphere-images
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/ks-installer:v3.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/ks-apiserver:v3.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/ks-console:v3.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/ks-controller-manager:v3.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/ks-upgrade:v3.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.22.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.21.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.20.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kubefed:v0.8.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/tower:v0.2.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/minio:RELEASE.2019-08-07T01-59-21Z
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/mc:RELEASE.2019-08-07T23-14-43Z
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/snapshot-controller:v4.0.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/nginx-ingress-controller:v1.1.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/metrics-server:v0.4.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/redis:5.0.14-alpine
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.0.25-alpine
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/alpine:3.14
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/openldap:1.3.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/netshoot:v1.0
  ##kubesphere-monitoring-images
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/configmap-reload:v0.5.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus:v2.34.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus-config-reloader:v0.55.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus-operator:v0.55.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-rbac-proxy:v0.11.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-state-metrics:v2.5.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/node-exporter:v1.3.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/alertmanager:v0.23.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/thanos:v0.25.2
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/grafana:8.3.3
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-rbac-proxy:v0.8.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/notification-manager-operator:v1.4.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/notification-manager:v1.4.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/notification-tenant-sidecar:v3.2.0
  ##kubesphere-logging-images
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/elasticsearch-curator:v5.7.6
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/elasticsearch-oss:6.8.22
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/fluentbit-operator:v0.13.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/docker:19.03
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/fluent-bit:v1.8.11
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/log-sidecar-injector:1.1
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/filebeat:6.7.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-operator:v0.4.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-exporter:v0.4.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-ruler:v0.4.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-auditing-operator:v0.2.0
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/kube-auditing-webhook:v0.2.0
  ##example-images
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/busybox:1.31.1
Язык кода:javascript
копировать
source pull-images.sh

2.7 Переименуйте изображение

Язык кода:javascript
копировать
vim tag-images.sh

В соответствии с названием вашего портового склада. Исправлять адрес порта и название проекта.

Язык кода:javascript
копировать
#!/bin/bash
#
HarborAddr="dockerhub.kubekey.local/kubesphereio"
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.22.12 $HarborAddr/kube-apiserver:v1.22.12
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.22.12 $HarborAddr/kube-controller-manager:v1.22.12
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.22.12 $HarborAddr/kube-proxy:v1.22.12
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.22.12 $HarborAddr/kube-scheduler:v1.22.12
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.5 $HarborAddr/pause:3.5
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.8.0 $HarborAddr/coredns:1.8.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.23.2 $HarborAddr/cni:v3.23.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers:v3.23.2 $HarborAddr/kube-controllers:v3.23.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/node:v3.23.2 $HarborAddr/node:v3.23.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol:v3.23.2 $HarborAddr/pod2daemon-flexvol:v3.23.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/typha:v3.23.2 $HarborAddr/typha:v3.23.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/flannel:v0.12.0 $HarborAddr/flannel:v0.12.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/provisioner-localpv:3.3.0 $HarborAddr/provisioner-localpv:3.3.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/linux-utils:3.3.0 $HarborAddr/linux-utils:3.3.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.3 $HarborAddr/haproxy:2.3
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/nfs-subdir-external-provisioner:v4.0.2 $HarborAddr/nfs-subdir-external-provisioner:v4.0.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.15.12 $HarborAddr/k8s-dns-node-cache:1.15.12
  ##kubesphere-images
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/ks-installer:v3.3.1 $HarborAddr/ks-installer:v3.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/ks-apiserver:v3.3.1 $HarborAddr/ks-apiserver:v3.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/ks-console:v3.3.1 $HarborAddr/ks-console:v3.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/ks-controller-manager:v3.3.1 $HarborAddr/ks-controller-manager:v3.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/ks-upgrade:v3.3.1 $HarborAddr/ks-upgrade:v3.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.22.0 $HarborAddr/kubectl:v1.22.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.21.0 $HarborAddr/kubectl:v1.21.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.20.0 $HarborAddr/kubectl:v1.20.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kubefed:v0.8.1 $HarborAddr/kubefed:v0.8.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/tower:v0.2.0 $HarborAddr/tower:v0.2.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/minio:RELEASE.2019-08-07T01-59-21Z $HarborAddr/minio:RELEASE.2019-08-07T01-59-21Z
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/mc:RELEASE.2019-08-07T23-14-43Z $HarborAddr/mc:RELEASE.2019-08-07T23-14-43Z
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/snapshot-controller:v4.0.0 $HarborAddr/snapshot-controller:v4.0.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/nginx-ingress-controller:v1.1.0 $HarborAddr/nginx-ingress-controller:v1.1.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4 $HarborAddr/defaultbackend-amd64:1.4
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/metrics-server:v0.4.2 $HarborAddr/metrics-server:v0.4.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/redis:5.0.14-alpine $HarborAddr/redis:5.0.14-alpine
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.0.25-alpine $HarborAddr/haproxy:2.0.25-alpine
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/alpine:3.14 $HarborAddr/alpine:3.14
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/openldap:1.3.0 $HarborAddr/openldap:1.3.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/netshoot:v1.0 $HarborAddr/netshoot:v1.0
  ##kubesphere-monitoring-images
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/configmap-reload:v0.5.0 $HarborAddr/configmap-reload:v0.5.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus:v2.34.0 $HarborAddr/prometheus:v2.34.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus-config-reloader:v0.55.1 $HarborAddr/prometheus-config-reloader:v0.55.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/prometheus-operator:v0.55.1 $HarborAddr/prometheus-operator:v0.55.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-rbac-proxy:v0.11.0 $HarborAddr/kube-rbac-proxy:v0.11.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-state-metrics:v2.5.0 $HarborAddr/kube-state-metrics:v2.5.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/node-exporter:v1.3.1 $HarborAddr/node-exporter:v1.3.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/alertmanager:v0.23.0 $HarborAddr/alertmanager:v0.23.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/thanos:v0.25.2 $HarborAddr/thanos:v0.25.2
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/grafana:8.3.3 $HarborAddr/grafana:8.3.3
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-rbac-proxy:v0.8.0 $HarborAddr/kube-rbac-proxy:v0.8.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/notification-manager-operator:v1.4.0 $HarborAddr/notification-manager-operator:v1.4.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/notification-manager:v1.4.0 $HarborAddr/notification-manager:v1.4.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/notification-tenant-sidecar:v3.2.0 $HarborAddr/notification-tenant-sidecar:v3.2.0
  ##kubesphere-logging-images
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/elasticsearch-curator:v5.7.6 $HarborAddr/elasticsearch-curator:v5.7.6
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/elasticsearch-oss:6.8.22 $HarborAddr/elasticsearch-oss:6.8.22
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/fluentbit-operator:v0.13.0 $HarborAddr/fluentbit-operator:v0.13.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/docker:19.03 $HarborAddr/docker:19.03
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/fluent-bit:v1.8.11 $HarborAddr/fluent-bit:v1.8.11
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/log-sidecar-injector:1.1 $HarborAddr/log-sidecar-injector:1.1
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/filebeat:6.7.0 $HarborAddr/filebeat:6.7.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-operator:v0.4.0 $HarborAddr/kube-events-operator:v0.4.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-exporter:v0.4.0 $HarborAddr/kube-events-exporter:v0.4.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-events-ruler:v0.4.0 $HarborAddr/kube-events-ruler:v0.4.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-auditing-operator:v0.2.0 $HarborAddr/kube-auditing-operator:v0.2.0
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/kube-auditing-webhook:v0.2.0 $HarborAddr/kube-auditing-webhook:v0.2.0
  ##example-images
docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/busybox:1.31.1 $HarborAddr/busybox:1.31.1
Язык кода:javascript
копировать
source tag-images.sh

2.8 Экспорт изображения

Язык кода:javascript
копировать
vim save-images.sh
Язык кода:javascript
копировать
#!/bin/bash
#
#портовый склад доменное имя ипроект имя
HarborAddr="dockerhub.kubekey.local/kubesphereio"

docker save -o ks-images.tar  $HarborAddr/kube-apiserver:v1.22.12  $HarborAddr/kube-controller-manager:v1.22.12  $HarborAddr/kube-proxy:v1.22.12  $HarborAddr/kube-scheduler:v1.22.12  $HarborAddr/pause:3.5  $HarborAddr/coredns:1.8.0  $HarborAddr/cni:v3.23.2  $HarborAddr/kube-controllers:v3.23.2  $HarborAddr/node:v3.23.2  $HarborAddr/pod2daemon-flexvol:v3.23.2  $HarborAddr/typha:v3.23.2  $HarborAddr/flannel:v0.12.0  $HarborAddr/provisioner-localpv:3.3.0  $HarborAddr/linux-utils:3.3.0  $HarborAddr/haproxy:2.3  $HarborAddr/nfs-subdir-external-provisioner:v4.0.2  $HarborAddr/k8s-dns-node-cache:1.15.12  $HarborAddr/ks-installer:v3.3.1  $HarborAddr/ks-apiserver:v3.3.1  $HarborAddr/ks-console:v3.3.1  $HarborAddr/ks-controller-manager:v3.3.1  $HarborAddr/ks-upgrade:v3.3.1  $HarborAddr/kubectl:v1.22.0  $HarborAddr/kubectl:v1.21.0  $HarborAddr/kubectl:v1.20.0  $HarborAddr/kubefed:v0.8.1  $HarborAddr/tower:v0.2.0  $HarborAddr/minio:RELEASE.2019-08-07T01-59-21Z  $HarborAddr/mc:RELEASE.2019-08-07T23-14-43Z  $HarborAddr/snapshot-controller:v4.0.0  $HarborAddr/nginx-ingress-controller:v1.1.0  $HarborAddr/defaultbackend-amd64:1.4  $HarborAddr/metrics-server:v0.4.2  $HarborAddr/redis:5.0.14-alpine  $HarborAddr/haproxy:2.0.25-alpine  $HarborAddr/alpine:3.14  $HarborAddr/openldap:1.3.0  $HarborAddr/netshoot:v1.0  $HarborAddr/configmap-reload:v0.5.0  $HarborAddr/prometheus:v2.34.0  $HarborAddr/prometheus-config-reloader:v0.55.1  $HarborAddr/prometheus-operator:v0.55.1  $HarborAddr/kube-rbac-proxy:v0.11.0  $HarborAddr/kube-state-metrics:v2.5.0  $HarborAddr/node-exporter:v1.3.1  $HarborAddr/alertmanager:v0.23.0  $HarborAddr/thanos:v0.25.2  $HarborAddr/grafana:8.3.3  $HarborAddr/kube-rbac-proxy:v0.8.0  $HarborAddr/notification-manager-operator:v1.4.0  $HarborAddr/notification-manager:v1.4.0  $HarborAddr/notification-tenant-sidecar:v3.2.0  $HarborAddr/elasticsearch-curator:v5.7.6  $HarborAddr/elasticsearch-oss:6.8.22  $HarborAddr/fluentbit-operator:v0.13.0  $HarborAddr/docker:19.03  $HarborAddr/fluent-bit:v1.8.11  $HarborAddr/log-sidecar-injector:1.1  $HarborAddr/filebeat:6.7.0  $HarborAddr/kube-events-operator:v0.4.0  $HarborAddr/kube-events-exporter:v0.4.0  $HarborAddr/kube-events-ruler:v0.4.0  $HarborAddr/kube-auditing-operator:v0.2.0  $HarborAddr/kube-auditing-webhook:v0.2.0  $HarborAddr/busybox:1.31.1
#сжатие
gzip ks-images.tar

3. Установите кластер в автономном режиме.

3.1 Удалите подман, входящий в комплект поставки системы Kirin.

Podman — это контейнерный движок, поставляемый с системой Kirin. Чтобы избежать последующих конфликтов с докером, удалите его напрямую. В противном случае последующие coredns/nodelocaldns также будут затронуты и не смогут запуститься, а также возникнут различные проблемы с разрешениями Docker. Все узлы выполняются

Язык кода:javascript
копировать
yum remove podman

3.2 Скопируйте установочный пакет в автономную среду.

будет загружен KubeKey , продукты artifact , сценарий и экспортирован Зеркало U Скопируйте диск и другие носители в узел установки автономной среды.

3.3 Установите пакеты зависимостей k8s

Выполнить на всех узлах, загрузить k8s-init-KylinV10.tar.gz, распаковать и выполнить install.sh

3.4 Измените файл конфигурации config-sample.yaml.

Исправлять Связанные узлыипортинформация

  • Должно быть указано registry Узел развертывания склада (для KubeKey развертывать Самодельный Harbor склад).
  • registry внутри Должно быть указано type Тип harbor,В противном случае реестр Docker устанавливается по умолчанию.
Язык кода:javascript
копировать


apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: node1, address: 10.11.5.117, internalAddress: 10.11.5.117, user: root, password: "123xxx"}
  roleGroups:
    etcd:
    - node1
    control-plane:
    - node1
    worker:
    - node1
    registry:
    - node1
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.22.12
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  storage:
    openebs:
      basePath: /data/openebs/local
  registry:
    type: harbor
    auths:
      "dockerhub.kubekey.local":
        username: admin
        password: Harbor12345
    privateRegistry: "dockerhub.kubekey.local"
    namespaceOverride: "kubesphereio"
    registryMirrors: []
    insecureRegistries: []
  addons: []

3.5 Установите частный репозиторий гавани, используя артефакты

Язык кода:javascript
копировать
./kk init registry -f config-sample.yaml -a kubesphere.tar.gz

Системе Kylin необходимо установить разрешения 777 для /opt/harbor/common, иначе служба порта не запустится.

проверять

Если служба не запускается, вы можете перезапустить гавань

Язык кода:javascript
копировать
cd /opt/harbor
systemctl restart docker
docker-compose down
docker-compose up -d

Посетите веб-страницу

Создать проект гавани
Язык кода:javascript
копировать
vim create_project_harbor.sh
Язык кода:javascript
копировать
#!/usr/bin/env bash
   
# Copyright 2018 The KubeSphere Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
   
url="https://dockerhub.kubekey.local"  #ИсправлятьurlЗначениеhttps://dockerhub.kubekey.local
user="admin"
passwd="Harbor12345"
   
harbor_projects=(
    kubesphereio
    kubesphere
    other
)
   
for project in "${harbor_projects[@]}"; do
    echo "creating $project"
    curl -u "${user}:${passwd}" -X POST -H "Content-Type: application/json" "${url}/api/v2.0/projects" -d "{ \"project_name\": \"${project}\", \"public\": true}" -k #curlВ конце команды добавьте -k
done

Примечание

  • Исправлять url Значение https://dockerhub.kubekey.local
  • Для согласованности имени проекта склада и названия проекта списка Зеркало необходимо указать.
  • конец сценария curl В конце команды добавьте -k

Войдите в порт, чтобы просмотреть

3.6 Отправьте изображения, связанные с ks, в гавань

Язык кода:javascript
копировать
vim push-images.sh

При создании автономного установочного пакета,Используйте save-images.sh, чтобы сохранить информацию, связанную с k8sиks, как ks-images.tar.gz.,нравиться Зеркалоимяиharborпроектизвестный Исправлять,Запомните имя в Исправлятьpush-images.sh

Язык кода:javascript
копировать
#!/bin/bash
#
HarborAddr="dockerhub.kubekey.local/kubesphereio"
idocker login -u admin -p Harbor12345 dockerhub.kubekey.local

docker load <  ks-images.tar.gz
#loginharbor

docker push $HarborAddr/kube-apiserver:v1.22.12
docker push $HarborAddr/kube-controller-manager:v1.22.12
docker push $HarborAddr/kube-proxy:v1.22.12
docker push $HarborAddr/kube-scheduler:v1.22.12
docker push $HarborAddr/pause:3.5
docker push $HarborAddr/coredns:1.8.0
docker push $HarborAddr/cni:v3.23.2
docker push $HarborAddr/kube-controllers:v3.23.2
docker push $HarborAddr/node:v3.23.2
docker push $HarborAddr/pod2daemon-flexvol:v3.23.2
docker push $HarborAddr/typha:v3.23.2
docker push $HarborAddr/flannel:v0.12.0
docker push $HarborAddr/provisioner-localpv:3.3.0
docker push $HarborAddr/linux-utils:3.3.0
docker push $HarborAddr/haproxy:2.3
docker push $HarborAddr/nfs-subdir-external-provisioner:v4.0.2
docker push $HarborAddr/k8s-dns-node-cache:1.15.12
  ##kubesphere-images
docker push $HarborAddr/ks-installer:v3.3.1
docker push $HarborAddr/ks-apiserver:v3.3.1
docker push $HarborAddr/ks-console:v3.3.1
docker push $HarborAddr/ks-controller-manager:v3.3.1
docker push $HarborAddr/ks-upgrade:v3.3.1
docker push $HarborAddr/kubectl:v1.22.0
docker push $HarborAddr/kubectl:v1.21.0
docker push $HarborAddr/kubectl:v1.20.0
docker push $HarborAddr/kubefed:v0.8.1
docker push $HarborAddr/tower:v0.2.0
docker push $HarborAddr/minio:RELEASE.2019-08-07T01-59-21Z
docker push $HarborAddr/mc:RELEASE.2019-08-07T23-14-43Z
docker push $HarborAddr/snapshot-controller:v4.0.0
docker push $HarborAddr/nginx-ingress-controller:v1.1.0
docker push $HarborAddr/defaultbackend-amd64:1.4
docker push $HarborAddr/metrics-server:v0.4.2
docker push $HarborAddr/redis:5.0.14-alpine
docker push $HarborAddr/haproxy:2.0.25-alpine
docker push $HarborAddr/alpine:3.14
docker push $HarborAddr/openldap:1.3.0
docker push $HarborAddr/netshoot:v1.0
  ##kubesphere-monitoring-images
docker push $HarborAddr/configmap-reload:v0.5.0
docker push $HarborAddr/prometheus:v2.34.0
docker push $HarborAddr/prometheus-config-reloader:v0.55.1
docker push $HarborAddr/prometheus-operator:v0.55.1
docker push $HarborAddr/kube-rbac-proxy:v0.11.0
docker push $HarborAddr/kube-state-metrics:v2.5.0
docker push $HarborAddr/node-exporter:v1.3.1
docker push $HarborAddr/alertmanager:v0.23.0
docker push $HarborAddr/thanos:v0.25.2
docker push $HarborAddr/grafana:8.3.3
docker push $HarborAddr/kube-rbac-proxy:v0.8.0
docker push $HarborAddr/notification-manager-operator:v1.4.0
docker push $HarborAddr/notification-manager:v1.4.0
docker push $HarborAddr/notification-tenant-sidecar:v3.2.0
  ##kubesphere-logging-images
docker push $HarborAddr/elasticsearch-curator:v5.7.6
docker push $HarborAddr/elasticsearch-oss:6.8.22
docker push $HarborAddr/fluentbit-operator:v0.13.0
docker push $HarborAddr/docker:19.03
docker push $HarborAddr/fluent-bit:v1.8.11
docker push $HarborAddr/log-sidecar-injector:1.1
docker push $HarborAddr/filebeat:6.7.0
docker push $HarborAddr/kube-events-operator:v0.4.0
docker push $HarborAddr/kube-events-exporter:v0.4.0
docker push $HarborAddr/kube-events-ruler:v0.4.0
docker push $HarborAddr/kube-auditing-operator:v0.2.0
docker push $HarborAddr/kube-auditing-webhook:v0.2.0
  ##example-images
docker push $HarborAddr/busybox:1.31.1

Выполнить нажатие

Язык кода:javascript
копировать
source push-images.sh

3.7 Выполните следующую команду для установки KubeSphere кластер

Язык кода:javascript
копировать
./kk create cluster -f config-sample.yaml -a kubesphere.tar.gz --with-packages

Откройте другое окно, чтобы просмотреть статус развертывания.

Посмотреть журнал Способ первый:

Язык кода:javascript
копировать
kubectl logs -f ks-installer-d6dcd67b9-7c26m -n kubesphere-system

Способ второй:

Язык кода:javascript
копировать
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

Подождите около десяти минут, чтобы увидеть сообщение об успешном развертывании.

3.8 Проверка результатов развертывания

  • Войдите на страницу управления
  • Статус компонента системы
  • Журналы контейнера
  • кластерсостояние

4. Резюме

Эта статья в основном демонстрирует X86 на практике. версия Кирин V10серверпроходитьонлайн Окружающая среда в основном будет зависеть оти Зеркалоскачать Сохранить как автономный пакет,И выполнить последующую автономную развертывание, создав единый продукт «Зеркало». С установочным пакетом разберемся позже,Победитель конкурса на адаптацию Кирин,Эйлер,Dragon Lizard и т. д. и упрощают процесс развертывания.,Оставайтесь с нами для второй части。 Основные сведения об автономной установке

  • Удалить подман
  • Установите пакеты зависимостей k8s
  • Используйте kk для установки склада Зеркало.
  • Написать скрипт, который заставит Зеркало в гавань
  • использоватьkkразвертыватькластер

Справочная ссылка

[1]

Автономная установка: https://kubesphere.io/zh/docs/v3.3/installing-on-linux/introduction/air-gapped-installation/

[2]

KubeKey releases iso-страница: https://github.com/kubesphere/kubekey/releases/download/v2.3.0/centos7-rpms-amd64.iso

[3]

Программный пакет Galaxy Кирин: https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/

[4] KubeKey releases страница: https://github.com/kubesphere/kubekey/releases

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода