k8s集群与gitlab registry连接

在之前的几篇部署文章中,我实现了gitlab部署配置、gitlab runner配置,registry仓库配置,kubectl与k8s集群联通。

链接: 中标麒麟7.4部署Gitlab

链接: 中标麒麟7.4为gitlab添加Registry

链接: 中标麒麟7.4部署gitlab-runner

链接: gitlab流水线与k8s集群的联通

目前整条流水线的自动化部署实现了

IDE->gitlab代码仓库->gitlab CICD->gitlab runner->本机 shell-> 本机docker->gitlab registry制品仓库->本级kubectl->K8S集群

目前发现集群无法正常从gitlab registry制品仓库中拉取docker打包好的制品。尝试解决这个问题。

1. k8s集群拉取镜像的策略开通

网络受限环境,首先需要保证对端口的访问是通畅的。并且,要保证k8s集群的每一台从节点都是通畅的。

可以使用telnet命令实现测试:

bash 复制代码
# ip 和 端口替换为你自己的gitlab部署IP,registry仓库端口
telnet 100.100.100.100 5050

但是中标麒麟7.4上默认没有telnet。考虑通过docker测试连通性。

bash 复制代码
docker login 我的ip:5050 -u root -p <your_gitlab_root_password>

在无法联通5050端口的情况下,你会看到如下内容

针对我的gitlab registry部署情况,这里面有两个问题,一是使用了https协议,二是连不上5050端口。

这种情况需要开通5050端口的策略。

2 修改为http协议

需要在所有k8s节点添加配置文件信息daemon.json

bash 复制代码
sudo vi /etc/docker/daemon.json

在内部添加"insecure-registries": ["100.100.100.100:5050"],既在这个ip和端口使用http协议

json 复制代码
{
  // 如果已有内容请保留,注意在原先内容后添加英文逗号
  "insecure-registries": ["100.100.100.100:5050"]
}

注意,这需要你在所有k8s节点执行一遍,包括主节点和所有从节点。后续的认证信息只需要在可以控制k8s的集群操作。

3 添加认证信息

在你的kubectl主机上,使用 kubectl create secret docker-registry 命令来创建一个类型为 docker-registry 的Secret,将你的仓库认证信息存入K8s集群:

bash 复制代码
kubectl create secret docker-registry gitlab-registry-secret \
  --docker-server=100.100.100.100:5050 \  # 你的GitLab Registry地址和端口
  --docker-username=your_username \        # 你的GitLab用户名
  --docker-password=your_password_or_token \ # 你的GitLab密码或个人访问令牌
  --docker-email=your_email@example.com \   # 你的邮箱地址
  --namespace=default                       # 指定Secret创建的命名空间,按需修改

在部署时,在deployment.yaml文件中添加对gitlab-registry-secret的饮用

yaml 复制代码
imagePullSecrets:
      - name: gitlab-registry-secret  # 此处的名字必须与你创建的Secret名称一致
相关推荐
[shenhonglei]16 小时前
灰度发布功能需求说明书
kubernetes
lpruoyu16 小时前
【Docker进阶-03】存储原理
docker·容器
文静小土豆17 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
JY.yuyu19 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
lpruoyu19 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
虾说羊20 小时前
docker容器化部署项目流程
运维·docker·容器
骇客野人21 小时前
通过脚本推送Docker镜像
java·docker·容器
liux35281 天前
基于kubeadm部署Kubernetes 1.26.4 集群指南
云原生·容器·kubernetes
Zfox_1 天前
CANN GE 深度解析:图编译器与执行引擎的后端优化策略、OM 文件结构与 Stream 调度机制
容器·节点小宝
人鱼传说1 天前
docker desktop是一个好东西
运维·docker·容器