Docker реестріне қосылу
Кластерде сәйкес аддон орнатылған болса, Docker реестріне қосыла аласыз.
Аддонды орнату кезінде ол үшін Floating IP-мекенжайы бар стандартты жүктеме теңгергіші жасалады. Сондықтан Docker реестріне интернетке қолжетімділігі бар кез келген хосттан қосылуға болады.
- Кластерде Docker реестрінің (
docker-registry) аддоны орнатылғанына көз жеткізіңіз. kubectlкөмегімен кластерге қосыла алатыныңызға көз жеткізіңіз.- Docker реестріне қол жеткізу үшін деректерді алыңыз.
Реестрге қосылу жоспарланған хостта:
-
Егер Docker Engine әлі орнатылмаған болса, Docker Engine орнатыңыз. Таңдау бойынша Docker Desktop немесе графикалық интерфейссіз Docker Engine серверлік нұсқасы қолжетімді.
Docker Engine реестр қолданылатын хостта орнатылуы керек. Келесі қадамдарды осы хостта орындаңыз.
-
Docker реестрін сенімді реестрлер тізіміне қосыңыз:
-
Docker конфигурациялық файлы
daemon.jsonішіне Docker реестрінің эндпоинт мекенжайы барinsecure-registriesпараметрін қосыңыз.Мекенжай
<IP_АДРЕС_РЕЕСТРА_DOCKER>:<ПОРТ_РЕЕСТРА_DOCKER>форматында беріледі.{..."insecure-registries": ["192.0.2.2:5000"],...}Docker Engine-дің әртүрлі инсталляциялары үшін осы файлдың орналасуы Docker ресми құжаттамасында берілген.
-
Docker Engine-ді қайта іске қосыңыз.
LinuxWindowsmacOS-
Docker Engine серверлік нұсқасы үшін қайта іске қосу мақсатында келесі командалардың бірін орындаңыз:
sudo systemd restart dockersudo service docker restart -
Docker Desktop үшін графикалық интерфейсті пайдаланыңыз.
-
-
-
Реестрге кіріңіз:
docker login <IP_АДРЕС_РЕЕСТРА_DOCKER> --username <ЛОГИН_ДЛЯ_РЕЕСТРА_DOCKER>Docker реестрі үшін құпиясөзді енгізіңіз.
Енді сіз реестрмен кез келген операцияларды орындай аласыз, мысалы, оған Docker-образдарды push жасау.
Реестрмен жұмыс туралы толығырақ Docker ресми құжаттамасында.
Docker реестріндегі образдарды пайдаланып кластерде жұмыс жүктемелерін (workloads) жаю үшін:
-
Реестрге қол жеткізу деректерін қамтитын
k8s-registry-credsқұпиясын жасаңыз.Егер
--namespaceпараметрі көрсетілмесе, құпия әдепкі (default) атаулар кеңістігінде (namespace) жасалады.Linux (bash) / macOS (zsh)Windows (PowerShell)kubectl create secret docker-registry k8s-registry-creds \--docker-server=<IP_АДРЕС_РЕЕСТРА_DOCKER>:5000 \--docker-username=<ЛОГИН> \--docker-password=<ПАРОЛЬ> \--namespace=<ПРОСТРАНСТВО_ИМЕН> -
Жұмыс жүктемесінің манифестінде мыналарды көрсетіңіз:
-
ìmagePullSecretsпараметрінде жасалған құпияның атауын. -
containers.imageпараметрінде реестрдегі образға жолды.Жол
<IP_АДРЕС_РЕЕСТРА_DOCKER>:5000/<ДИРЕКТОРИЯ_С_ОБРАЗОМ>/<ИМЯ_ОБРАЗА>:<ТЕГ>форматында беріледі.
Манифест мысалдары:
PodDeploymentReplicaSetStatefulSetDaemonSetJobCronJobapiVersion: v1kind: Podmetadata:name: my-appspec:imagePullSecrets:- name: k8s-registry-credscontainers:- name: my-appimage: <IP_АДРЕС_РЕЕСТРА_DOCKER>:5000/<ДИРЕКТОРИЯ_С_ОБРАЗОМ>/<ИМЯ_ОБРАЗА>:<ТЕГ> -