1.Docker架构图
2021-02-03 09:33:59 0 举报
Docker架构图
作者其他创作
大纲/内容
传统部署
gateway pod 暴露的端口信息
Service端口
Docker 镜像
Service拆解
PV已使用
几倍的管理部署工作量
Docker仓库
容器云服务
日志服务
负载均衡
xxx.ccs.com
1.定义基础镜像
镜像仓库
PVC 100G RWO
生产kubernetes集群
测试k8s
开发k8s
PVC绑定PV
git svn
创建一个容器并使用name字段将其命名为 nginx
NODE节点
Storage
running
回收存储空间
CI/CD服务
3.拷贝数据到镜像
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
Docker模式
2.申明维护人员
Deployment 创建三个复制的 Pods,由 replicas 字段指示
subset1,将流量转发到具有标签 version:v1 的 deployment 对应的服务上
安装、配置和维护复杂的应用程序
性能监控服务
外部流量
push
开发者
k8s服务信息
资源使用
容器
FROM openjdk:8-jre-alpineMAINTAINER xxx@sgcc.com.cnCOPY eureka.jar /opt/eureka.jarWORKDIR /optEXPOSE 8761CMD java $JAVA_OPTIONS -jar eureka.jar
指定 gateway 配置下发的代理,如具有标签 app: my-gateway-controller 的 pod
DestinationRule拆解
Docker Engine
Docker images
开发机
容器云CICD流程图
测试机(Docker容器)
版本管理
选择器,查找对应的nginx容器
VirtualService拆解
开发机(Docker容器)
生产k8s
使用 hosts 字段列举 VirtualService 的主机--即用户指定的目标或者路由规则设定的目标。这是客户端向服务发送请求时使用的一个或者多个地址。
项目基本信息收集
apiVersion: networking.istio.io/v1alpha3kind: Gatewaymetadata: name: ext-host-gwyspec: selector: app: my-gateway-controller servers: - port: number: 443 name: https protocol: HTTPS hosts: - ext-host.example.com tls: mode: SIMPLE serverCertificate: /tmp/tls.crt privateKey: /tmp/tls.key
PV可用
PV已锁定
提交代码
1.指定网络
kuberntes集群
Pod
使用完毕 释放PVC
5.暴露启动容器端口
ccs/app
subset2,将流量转发到具有标签 version:v2 的 deployment 对应的服务上,并指定负载均衡为轮询
4.cd到指定目录
destination 字段指定符合匹配条件的流量目标地址。目标地址可以是代理的网格服务或者作为服务入口加入的非网格服务。这里使用的是svc服务名
测试kubernetes集群
Deployment拆解
POD使用PVC
4.镜像名
building
apiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None selector: app: nginx
将创建名为 nginx-service 的 Service ,由 .metadata.name 字段指示
docker 命令执行流程
项目模版 应用商店
存储
创建任务
3.文件挂载
commit
Gateway拆解
6.容器启动需要运行命令
容器云应用场景示例图
Docker in Docker镜像模版
Kubernetes集群
Docker
开发kubernetes集群
apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata: name: reviewsspec: hosts: - reviews http: - match: - headers: end-user: exact: jason route: - destination: host: reviews subset: v2 - route: - destination: host: reviews subset: v3
将创建名为 nginx-deployment 的 Deployment ,由 .metadata.name 字段指示
volume
测试机
单一的部署工作量
docker run -itd --network acloudbridge --name acloud-eureka -p 18003:18003 -v /root/luojunjie/docker/acloud/eureka/logs:/u01/target/logs -v /root/luojunjie/docker/acloud/eureka/application.yml:/u01/application.yml -v /root/luojunjie/docker/acloud/eureka/bootstrap.yml:/u01/bootstrap.yml hub.aosccs.com.cn:8888/test1/docker-acloud-bc-eureka-server:1.5.0-SNAPSHOT
执行
资源回收
类型:Service
Docker container
资源释放
apiVersion: networking.istio.io/v1alpha3kind: DestinationRulemetadata: name: my-destination-rulespec: host: my-svc trafficPolicy: # loadBalancer: simple: RANDOM subsets: - name: v1 # labels: version: v1 - name: v2 #subset2 labels: version: v2 trafficPolicy: loadBalancer: simple: ROUND_ROBIN - name: v3 #subset3 labels: version: v3
pull
selector 字段定义 Deployment 如何查找要管理的 Pods。 在这种情况下,只需选择在 Pod 模板(app: nginx)中定义的标签
数据存储
默认的负载均衡策略模型为随机
发送指令
harbor私有仓库
容器使用镜像 nginx和版本号
推送镜像
subset3,将流量转发到具有标签 version:v3 的 deployment 对应的服务上
2.暴露端口
资源绑定
资源供应
生产机(Docker容器)
路由规则1,路由规则按从上到下的顺序选择,在您服务中定义的第一条规则具有最高优先级。
生产机
收藏
0 条评论
回复 删除
下一页