到现在为止,我们分别掌握了k8s部署、k8s镜像存储之harbor高可用,那么接下来是不是就应该实操了呢?不过不着急,实操之前我们要考虑下,还需要掌握什么呢?

是不是通信呀,这所有的前提都是在可以通信的情况下进行的,彼此之间如何通信,通信的方式是什么,本文就来介绍下。

情形

我们集群的通信方式,根据不同的条件,可以分为以下三种方式:

1、集群内相互通信;

2、集群内访问集群外;

3、集群外访问集群内。

本文就按照这三种场景,每种场景分别使用不同的方法,在实际情况中根据需要来选择。

集群内相互通信

1、DNS+ClustreIP

图释:

如果podA访问podB,由于pod的IP是会经常发生变化的,所以不能直接配置podB的IP地址,所以k8s提出了一个概念为service,它包含了一个clusterIP,也就是图中的10.1.1.1,那么这样子是不是就可以了呢?显然还是不太好,因为我们配置IP地址也很麻烦,这个时候service又提供了一个dns,可以理解为别名,这样我们直接配置dns就好了。

2、headless(去中心化)

图释:

我们在部署整个架构的时候,是不是经常会遇到一些去中心化的服务,比如zookeeper服务,本意是为了保证高可用的,但是这样子就面临一个问题,我们应该访问谁呢?这时候k8s就提出了一个概念,hadeless类型的service,这个服务的作用是什么呢,你可以理解为透传,就是当PodA访问这PodB的时候,他就会给你返回一个列表,podA自己做选择访问谁。

集群内访问集群外

1、Ip+Port

图释:

集群内的PodA直接通过IP和port地址,访问集群外的数据库就行。

2、endprint

图释:

如果有100个服务要访问外部的mysql呢?难道我们配置100次吗?万一哪天mysql的IP地址变了,我们怎么办呢?这个时候就引入了一个endpring。使用endprint来做代理,它有一个和它同名的service,再往上面呢,它还有一个DNS,以供内部使用,我们的endpring上面配置上外部服务的地址。

这个有什么好处呢?好处就是内部的服务访问的地址不会变,有变化的仅仅是endpring,有问题的时候我们只需要修改endpring即可立刻恢复服务。

集群外访问集群内

剩余内容请转至VX公众号 “运维家” ,回复 “127” 查看。

k8s部署-20-k8s的服务发现原理,k8s有几种服务发现规则相关推荐

  1. Android系统从驱动到上层服务再到应用的两种服务架构方式

    Android系统从驱动到上层服务再到应用的两种服务架构方式 1)使用类似sensor service的方式: 此方式用于,service的接口不想暴露给上层activity直接使用的情形 例如sen ...

  2. k8s部署tomcat及web应用_k8s介绍 k8s搭建一个应用(mysql+tomcat)

    k8s介绍 k8s搭建一个应用(mysql+tomcat) kubetnetes介绍 官网 https://kubernetes.io/ Kubernetes也就是k8s Kubernetes是一个开 ...

  3. 11服务方式:gRPC的四种服务方式

    今天这篇文章一看标题就比较特别,因为gRPC本身就是分布式微服务常用的一种通信方式,而我们又要探讨gRPC是如何进行通信的,那就是从源码层面来研究下gRPC服务端与客户端之间更为具体的通信方式,作为业 ...

  4. k8s部署微服务组件eureka

    本文是在CentOS7环境上,搭建微服务集群系统简单样例. 架构描述: k8s集群:2台master node,1台slave node,均安装maven.docker.k8s环境:k8s集群系统用来 ...

  5. 高可用集群篇(五)-- K8S部署微服务

    高可用集群篇(五)-- K8S部署微服务 一.K8S有状态服务 1.1 什么是有状态服务 1.2 k8s部署MySQL 1.2.1 创建MySQL主从服务 1.2.2 测试主从配置 1.2.3 k8s ...

  6. 【博客496】k8s dns解析与服务发现原理

    k8s dns解析 集群内域名解析原理 Kubernetes 集群节点上 kubelet 有--cluster-dns=${dns-service-ip} 和 --cluster-domain=${d ...

  7. dubbo k8s 服务发现_将Dubbo微服务迁移到k8s集群环境中前的思考与落地

    将Dubbo微服务迁移到k8s中的思考与落地 说到容器化,不得不提kubernetes这个集群编排系统,它是一个开源系统,用于容器化应用的自动部署.扩缩和管理. Kubernetes 将构成应用的容器 ...

  8. Kubernetes K8S 1.20部署Ingress nginx 0.30

    主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C/4G/20G 172.16.1.110 10.0.0.110 ...

  9. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes ...

最新文章

  1. Rocksdb DeleteRange实现原理
  2. 如流智会2021:技术结合场景 让企业知识懂员工
  3. java guava 使用_Java8-Guava实战示例
  4. linux time dev null,/dev/null丟失后
  5. select、poll、epoll 比较
  6. ORA-27300错误
  7. 交换排序—冒泡排序(Bubble Sort)
  8. python4.2_python4.2参数传入
  9. 美团成都一面面经及详细答案
  10. 在华为 (Huawei) 工作是怎样一番体验?
  11. 注册表修复工具+强制卸载工具
  12. Linux(深度deepin)下安装jdk、tomcat、idea
  13. 带你走进3D建模!一份建模零基础小白的入门宝典,建议收藏细读
  14. C++计算四则表达式的模板
  15. 理解PHP网页运行原理
  16. Android APP安装后不在桌面显示图标的应用场景举例和实现方法
  17. 【UE】倒计时归零时结束游戏
  18. 【电子书资源】 PDF格式 持续更新
  19. Python学习之路:列表(List)的append()、extend()与insert()方法
  20. 张柏芝《影子爱人》曝剧照 亲手设浪漫爱情桥段_0

热门文章

  1. 基于VUE框架的网页音乐播放器(可自适应手机布局)
  2. 系统架构设计笔记(102)—— 反不正当竞争法
  3. igrimace安装常出现问题 uber 陌陌站街 平安易贷 Z spirit借贷宝
  4. mysql 服务器安全狗_安装服务器安全狗教程
  5. java中如何引入mergesort.mergesort_mergesort Merge Sort 问题
  6. Redis 安装+四种启动设置(开机自启动)
  7. 微软不能关闭服务器,微软正在解决部分Surface Laptop用户遭遇的无法退出S模式的故障...
  8. 还在抱怨没客户 这5大找客户技巧需掌握
  9. 智能取餐柜有没有前景
  10. 字节数组转化为字符串