容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

Izellah ·
更新时间:2024-09-21
· 563 次阅读

目录系列更换成阿里云仓库开通阿里云镜像服务创建仓库本地k8s切换成阿里云的镜像仓库测试阿里云镜像准备简单的微服务服务设计服务配置打成镜像并以docker方式运行部署k8s 系列

容器化技术与微服务结合—docker(一)
容器化技术与微服务结合—Kubernetes基本介绍(二)
容器化技术与微服务结合—Pod详解(三)
容器化技术与微服务结合—实操service并部署一个简单对外开放的springboot HelloWord服务(四)
容器化技术与微服务结合—结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

更换成阿里云仓库

首先,k8s默认的是docker hub的源。网络实在太卡,我们先切换成国内的。

开通阿里云镜像服务

这个服务免费的

进入控制台,开通镜像服务
在这里插入图片描述

创建仓库

点击创建仓库,然后填写完。这里博主选择公开,毕竟用于本地和云上测试(企业级必须私有哦。并且云上k8s保持同一个vpc内)
在这里插入图片描述
这里选择本地仓库。你可以使用阿里云的自动化构建。不过这里博主选择自己手动搞
在这里插入图片描述
在这里插入图片描述
可以看到。只要在本地登录docker之后。便可以轻松操作了。
密码在访问凭证里可以设定
在这里插入图片描述
随便打几个镜像上传到阿里云仓库把。发现已经上传完毕:
在这里插入图片描述

本地k8s切换成阿里云的镜像仓库

创建访问阿里云docker的secret对象,这里是阿里云docker的账号密码

kubectl create secret docker-registry aliyun-docker-test \ --docker-server=registry.cn-shanghai.aliyuncs.com \ --docker-username=登陆阿里云docker的用户名 \ --docker-password=登陆阿里云docker的密码 \ --docker-email=选填

请注意上线命令中的命名:aliyun-docker-test 如果需要使用这个docker源。那么就要在pod里面指定是用这个名称获取镜像

使用kubectl get secrets查看所有的镜像仓库。可以看到刚才我们创建的aliyun-docker-test已经好了在这里插入图片描述

测试阿里云镜像

我们将pod配置修改为:

apiVersion: apps/v1 kind: Deployment metadata: name: helloword labels: app: helloword spec: replicas: 2 selector: matchLabels: app: helloword template: metadata: labels: app: helloword spec: containers: - name: helloword image: registry.cn-shanghai.aliyuncs.com/emper_test/k8s-test:v1 #修改镜像名称 ports: - containerPort: 9999 imagePullSecrets: - name: default/aliyun-docker-test #指定是阿里云docker的资源,斜杠前面是命名空间,创建不指定的话默认是default命名空间, 这里不加命名空间会拉不到镜像 --- apiVersion: v1 kind: Service metadata: name: helloword-service labels: app: helloword spec: ports: - port: 9999 protocol: TCP type: NodePort selector: app: helloword

注意imagePullSecrets的名称一定要加命名空间,最开始博主没加,结果各种获取不了镜像

再次执行kubectl apply -f helloword-deployment.yaml,发现成功,访问http://192.168.99.110:31125/hello,得到“aliyun docker version:1”返回。
将镜像版本改为v2. 也成功得到“aliyun docker version:2”。
切换成阿里云docker成功

准备简单的微服务

我们来准备三个服务:eureka、demo-a、demo-b。

服务设计 eureka服务端口号:8761 demo-a服务端口号9998,抛出/hello接口,返回“hello-A” demo-b服务端口号9999,抛出/hello接口,返回“hello-B” demo-b调用demo-a接口,并抛出/from/a接口,返回值是demo-a服务的内部接口返回值:inner-from-a 服务配置

我们来看下各自的配置
未完待续

打成镜像并以docker方式运行

未完待续

部署k8s

未完待续


作者:codemperor



容器化 微服务 阿里 容器 Docker 框架

需要 登录 后方可回复, 如果你还没有账号请 注册新账号