microk8s使用本地私服registry的镜像http协议

开发环境为了能部署服务到microk8s,我们开启了一个本地私库,地址为:http://localhost:5000,那么如何在microk8s中能拉取本地私库中的镜像呢?

直接部署的话,microk8s会用https协议去拉取镜像,所以必须要配置一下才行。

microk8s是每个registry一个配置文件的,你需要先创建一个配置文件,执行如下命令:

复制代码
sudo mkdir -p /var/snap/microk8s/current/args/certs.d/ibm-johnny-z13:5000

这里的ibm-johnny-z13是你主机名,你还得到/etc/hosts中修改一下,不能让主机名的IP为127.0.0.1,否则microk8s的节点解析到的就是127.0.0.1,那么,那么它就会访问节点机器,所有就访问不到,同理localhost也不行。例如我的:

复制代码
cat /etc/hosts

# generateHosts = false
127.0.0.1       localhost
172.22.164.46 ibm-johnny-z13
# 127.0.1.1     IBM-JOHNNY-Z13. IBM-JOHNNY-Z13
185.199.110.133 raw.githubusercontent.com

由于我是WSL的ubuntu所以IP是172开头的。

复制一个配置文件:

复制代码
 cp /var/snap/microk8s/current/args/certs.d/localhost\:32000/hosts.toml /var/snap/microk8s/current/args/certs.d/ibm-johnny-z13\:5000/

然后修改配置文件内容:

复制代码
sudo  vi /var/snap/microk8s/current/args/certs.d/ibm-johnny-z13\:5000/hosts.toml

内容如下:

复制代码
server = "http://ibm-johnny-z13:5000"

[host."http://ibm-johnny-z13:5000"]
  capabilities = ["pull", "resolve"]

然后再重启microk8s:

复制代码
	microk8s stop && microk8s start

这样就可以使用内部私有库了。

相关推荐
heimeiyingwang10 小时前
【架构实战】Kubernetes存储实战:从EmptyDir到Ceph CSI的持久化存储选型指南
ceph·架构·kubernetes
QX_hao11 小时前
【Kubernetes】 的三个Probe
容器·kubernetes
Henry-SAP14 小时前
SAP S/4HANA引领物流ERP新生态
人工智能·云原生·sap·erp
这个DBA有点耶14 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
猫吃了源码16 小时前
k9s简介和安装
linux·docker·kubernetes
云原生指北17 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
霸道流氓气质18 小时前
微服务架构中多实例消息抢占问题:技术解析与解决方案
微服务·云原生·架构
heimeiyingwang19 小时前
【架构实战】Kubernetes故障排查全景图:从Pod异常到集群雪崩的诊断手册
容器·架构·kubernetes
骇客野人20 小时前
Docker Compose 部署多个独立 Jar 服务完整实操步骤
docker·容器·jar
AAA@峥20 小时前
K8s 资源管控:ResourceQuota 与 LimitRange 机制详解与实战
云原生·容器·kubernetes