1.哪些服务适合单独成为一个pod?哪些服务适合在一个pod中?
message消息服务被很多服务调用   单独一个pod
dubbo服务和web服务交互很高放在同一个pod里
API网关调用很多服务  单独一个pod
 
2.在一个pod里面的服务如何彼此访问?他们的服务如何对外提供服务?
dubbo服务和web服务(在一个pod里)通过本机IP+端口访问
通过service里的clusterip和dns   服务在集群内部访问
 
course-service.yml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: course-service
  name: course-service
spec:
  ports:
  - port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    app: course-service
  type: ClusterIP
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: course-service-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: course-service
    spec:
      containers:
      - name: course-service
        image: {{HUB}}/micro-service/course-service:latest
        ports:
        - containerPort: 20880
      - name: course-edge-service
        image: {{HUB}}/micro-service/course-edge-service:latest
        ports:
        - containerPort: 8081
 
 
3.单独的pod如何对外提供服务?
 
message-service.yml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: message-service
  name: message-service
spec:
  ports:
  - port: 9090
    protocol: TCP
    targetPort: 9090
  selector:
    app: message-service
  type: ClusterIP
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: message-service-deployment
spec:
  replicas: 1
  template: 
    metadata:
      labels:
        app: message-service
    spec:
      containers:
      - name: message-service
        image: {{HUB}}/micro-service/message-service:latest
        ports:
        - containerPort: 9090
 
4.哪个服务作为整个服务的入口,入口服务如何对外提供服务?
通过nodepod,集群外就可以访问这个服务
 
apigateway.yml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: api-gateway
  name: api-gateway
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
    nodePort: 80
  selector:
    app: api-gateway
  type: NodePort
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: api-gateway-deployment
spec:
  replicas: 1
  template: 
    metadata:
      labels:
        app: api-gateway
    spec:
      containers:
      - name: api-gateway
        image: {{HUB}}/micro-service/api-gateway-zuul:latest
        ports:
        - containerPort: 8080

kubernetes微服务部署的更多相关文章

  1. 将微服务部署到 Azure Kubernetes 服务 (AKS) 实践

    本文是对 <.NET Tutorial - Deploy a microservice to Azure> 的翻译和实践.入门级踩坑实践,k8s 大佬请回避,以免耽误您宝贵的时间. 介绍 ...

  2. 解读与部署(三):基于 Kubernetes 的微服务部署即代码

    在基于 Kubernetes 的基础设施即代码一文中,我概要地介绍了基于 Kubernetes 的 .NET Core 微服务和 CI/CD 动手实践工作坊使用的基础设施是如何使用代码描述的,以及它的 ...

  3. Chris Richardson微服务翻译:微服务部署

    Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现 微服务之事件驱动的数据管理 微服务部署( ...

  4. docker微服务部署之:六、Rancher管理部署微服务

    docker微服务部署之:五.利用DockerMaven插件自动构建镜像 一. 什么是Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源 ...

  5. docker微服务部署之:七、Rancher进行微服务扩容和缩容

    docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目 ...

  6. docker微服务部署之:五、利用DockerMaven插件自动构建镜像

    docker微服务部署之:四.安装docker.docker中安装mysql和jdk1.8.手动构建镜像.部署项目 在上一篇文章中,我们是手动构建镜像,即: 4.1.2.5.1.2.6.1.2中的将d ...

  7. docker微服务部署之:四、安装docker、docker中安装mysql和jdk1.8、手动构建镜像、部署项目

    docker微服务部署之:三,搭建Zuul微服务项目 1.Centos7安装Docker 详见:Centos7安装Docker 2.Docker中安装jdk1.8 详见:使用Docker构建jdk1. ...

  8. docker微服务部署之:三,搭建Zuul微服务项目

    docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module ...

  9. docker微服务部署之:二、搭建文章微服务项目

    docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...

随机推荐

  1. 【emWin】例程三十二:窗口对象———Progbar

    简介: 进度条通常在应用程序中用于实现虚拟化:本例程实现液晶亮度显示 . 触摸校准(上电可选择是否进入校准界面) 实验现象: 实验指导书及代码包下载: 链接:http://pan.baidu.com/ ...

  2. <王二的经济学故事>读书笔记

    不是简单地用价格把供需弄平衡就完事了,座位分配给谁同样重要 一个成功的社会必须要有成功的人,必须要给成功的人应得的回报 需求曲线向下倾斜,价格越高需求越少 先来的都是那些时间最不值钱的 无论收入分配差 ...

  3. mysql 核心知识要点

    整体知识介绍:mysql基本操作和使用,mysql优化(索引,分表等),mysql部署(读写分离,负载均衡等) 数据库基本介绍:数据库概念,常用数据库,web应用三大软件分工,PHP动态语言特点(处理 ...

  4. Dapper Extensions Change Schema

    Dapper Extensions Change Schema You can use the AutoClassMapper to assign a new schema to your model ...

  5. IOC容器特性注入第七篇:请求上下文作用域

    Ninject的对象作用域: Transient .InTransientScope() 每次调用创建新实例. Singleton .InSingletonScope() 单例,仅创建一个实例. Th ...

  6. Android Studio开发第二篇创建新项目

    创建新项目很简单,File-New-New Project,这个没什么好说的跟Eclipse都差不都. 第二步SDK选择,有手机平板还有Wear,TV,汽车Auto,谷歌眼镜等几个种平台,这里就先选择 ...

  7. web初级开发的那些坑

    1.在使用js原生的XMLHttpRequest加载.xml文件时,老是不对,按照书上的写的没错,后来才发现是我的web.xml文件中阻止了.xml文件的加载. 2.有关于string解析成json数 ...

  8. io流和序列化

    1.使用File操作文件 public class IoTest { public static void main(String[] args) throws IOException { /* 01 ...

  9. C# MVC+EF—WebApi

    上一篇搭建了页面,这里写下功能. 这里我用WebApi实现数据的增删改查. 一.新建Controller 为了区分明确,我在Controller文件夹下建立一个WebApi文件夹存放. 选中文件夹右键 ...

  10. maven项目启动报错:SLF4J: Class path contains multiple SLF4J bindings.

    SringBoot的Application启动报错: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding ...