脚本宝典收集整理的这篇文章主要介绍了微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
❝目录:
❞
微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes)-kubernetes/dashboard
第一篇提到的docker官方提供了镜像仓库是公共的,私有的是需要收费的,所以我们需要在自己的服务器搭建私有镜像仓库,这样也比较安全。docker官方提供的registry可以快速的搭建,但是它没有界面管理和高级权限控制,所以本文采用由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目Harbor
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
,下载Docker Compose到/usr/local/bin目录下。chmod +x /usr/local/bin/docker-compose
,赋予文件可执行权限docker-compose -v
,查看版本,如果正常出现版本号就是安装成功了以上三个步骤执行完如下图:
复制出来的链接如:https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-offline-installer-v1.10.10.tgz
cd
,然后执行下载wget https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-offline-installer-v1.10.10.tgz
;(如果下载速度很慢可以本地下载完再传到服务器)tar zxvf 压缩包的名字
cd harbor
cp harbor.yml harbor.yml.bak
,然后打开修改配置文件vim harbor.yml
;修改文件中的内容如下图:./install.sh
,出现如下界面就安装成功了
7. 打开ip:端口进入Harbor登录界面,账号默认是admin
,密码Harbor12345
密码在上面的harbor.yml配置文件中可以找到,安装的时候也可以直接修改掉。
修改docker配置vim /etc/docker/daemon.json
增加私有仓库地址,插入一行:"insecure-registries": ["http://ip:端口"]
重启docker服务先执行systemctl daemon-reload
再执行systemctl restart docker
,重启docker服务后需要执行一下docker-compose up -d
启动一下harbor
❝温馨提示:
以下涉及到的代码和镜像需要结合第一篇里的怎么打包镜像和推送镜像
❞
docker login http://ip:端口 --username 用户名 --password 密码
,登录遇到强制https错误,因为我们这边没有配置Harbor的https支持所以修改本地docker支持访问httpdocker tag 镜像名:版本号 ip:端口/项目名/镜像名:版本号
,如图
3. 执行推送docker push ip:端口/项目名/镜像名:版本号
查看harbor镜像仓库可以看到刚才推送的镜像了
生成64位的Secret串base64 -w 0 ~/.docker/config.json
(必须先执行登录docker才会生成config.json文件,这边我们是在服务器执行一下登录,因为本地的是win10登录之后没找到config.json在哪)
在k8s界面上直接创建新资源
上图代码如下:apiVersion: v1kind: Secretmetadata: name: wyb01 namespace: testdata: .dockerconfigjson: ewoxxxxxxxxxxxxxxxxxxxxxxxTwqtype: kubernetes.io/dockerconfigjson
apiVersion: apps/v1kind: Deploymentmetadata: name: wyb01 namespace: test labels: name: wyb01spec: replicas: 2 selector: matchLabels: name: wyb01 template: metadata: labels: name: wyb01 spec: imagePullSecrets: - name: wyb01 containers: - name: wyb01 image: ip:端口/wyb01/testzeta:1.0.0 ports: - containerPort: 35678 imagePullPolicy: Always---kind: ServiceapiVersion: v1metadata: name: wyb01 namespace: testspec: type: NodePort ports: - port: 35678 targetPort: 35678 NodePort: 30002 selector: name: wyb01
修改完之后上传执行
执行成功后你会发现pods里面多了两个因为上面的配置文件里replicas这个设置为2了,这边pod几个就是根据这个参数生成的,可以根据需求自己调节http://服务器ip:对外端口
成功之后访问自己的网站就可以看到网站内容了
以下为遇到错误的记录和解决方案如下:
部署成功了访问的时候访问不到,原因是部署yaml文件里端口设置错误,容器端口设置应该跟生成镜像的Dockerfile里的端口保持一致,本文的dockerfile端口设置的是35678,所以配置里的端口都是35678;如果是从第一篇文章里复制的你可能就设置为3100,那yaml就得对应的设置为3100。
如果没有装Kubernetes Dashboard,可以直接创建yaml文件然后用kubectl create -f xxxx.ymal
替代界面上创建资源的步骤
执行docker ps -a
可能看到很多个状态为exited的容器;如果都是没用的就执行docker rm $(sudo docker ps -qf status=exited)
清理他们
以上是脚本宝典为你收集整理的微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像全部内容,希望文章能够帮你解决微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。