Docker系列(十一):Kubernetes集群集群部署实践
Kubernetes分布式集群架构



服务注册和服务发现问题怎么解决的?
分布式通讯的核心就是ip加端口
每个服务分配一个不变的虚拟IP+端口
系统env环境变量里有每个服务的服务名称到IP的映射
如下:

client = new redis\Client([
'scheme' => 'tcp',
'host' => getenv('REDIS_MASTER_SERVICE_HOST') ,
'port' => $read_port,
]);
对程序没有任何的入侵
服务的负载均衡问题怎么解决的?
每个节点上都有一个软件实现的服务代理来实现负载均衡

kube-proxy每个node上都会部署,一个任务是代理,一个任务是负载均衡。
kube-proxy如上图所示,既可以转发给本地的po的,也可以转发给其他的node中pod
服务的规模部署问题怎么解决的?

服务运维问题如何解决的?
自动监控、自我修复


Kubernetes 集群架构例子


1.创建redis-master Pod和服务
redis-master-controller.yaml,下面给出了该文件的完整内容


2. 创建redis-slave Pod和服务



3. 创建php frontend Pod和服务


注意:type:nodeport每一个node上开一个端口,访问任何一个node的30001就可以到容器里面的80,相当于docker中的端口映射,就是讲容器中的端口映射到主机上的端口,为了让集群之外的能访问容器的port,应为容器是属于内部的,集群之外的是访问不了的。

根据是读操作还是写操作来判断走哪个

注意:访问的地址是node节点的ip而不是master加点的ip
集群运维常见问题
资源隔离与调度问题
怎么把某些服务调度到特定的节点上去?

给node加入lable
rc上面设置nodeselector
扩容与升级问题

扩容:kubectl scale。。。。中的replicas参数
滚动升级:加入A中有二十个用例,在升级的过程中是会终端的,希望是不间断的服务,先减一个pod,更新一个pod加进去,再减去一个pod。。。。。。用法升级版本号
image:v2
资源配额问题

如果用到资源配额,需要增加插件 如上图右上角的命令LimitRanger,ResourceQuota
kubernetes权威指南:
当Kubernetes启动一个容器时,会将CPU配额值乘以1024并转为整数传递给docker run的–cpu-shares参数,之所以乘以1024是因为Docker的cpu-shares参数是以1024 为基数计算CPU时间的。另外,Docker官方文档里解释说cpu-shares是一个相对权 重值 (relative weight),因此Kubernetes官方文档里解释cpu: 0.5表示该容器占用0.5 个CPU计算时间的说法其实是不准确的。仅当该节点是单核心CPU而且只运行两个 容器,每个容器的CPU配额设定为0.5时,上述说法才成立。假如一个节点上同时运 行了3个容器A,B,C,其中A容器的CPU配额设置为1,B与C设置为0.5。那么,当 系统的CPU利用率达到100%时,A容器只占用了1X100/(1+0.5+0.5)=50%的CPU时 间,而B与C分别占用25%的CPU时间。如果此时我们加入一个新的容器D,它的 CPU配额也设置为1,则通过计算我们得到A此时只占据33%的CPU时间。对于目前 主流的多核CPU,容器的CPU配额会在多核心上进行承担。因此在多核CPU上,即 使某个容器声明CPU<1,它也可能会占满多个CPU核。例如2个设定cpu=0.5的容器 运行在4核的CPU上,每个容器可能会用光4*0.5/(0.5+0.5)=2个CPU核。

Docker系列(十一):Kubernetes集群集群部署实践的更多相关文章
- Docker 系列七(Dubbo 微服务部署实践).
一.前言 之前我们公司部署服务,就是大家都懂的那一套(安装JDK.Tomcat —> 编译好文件或者打war包上传 —> 启动Tomcat),这种部署方式一直持续了很久,带来的问题也很多: ...
- K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署
Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...
- 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)
基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势) 前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...
- K8S从入门到放弃系列-(15)Kubernetes集群Ingress部署
Ingress是kubernetes集群对外提供服务的一种方式.ingress部署相对比较简单,官方把相关资源配置文件,都已经集合到一个yml文件中(mandatory.yaml),镜像地址也修改为q ...
- K8S从入门到放弃系列-(4)kubernetes集群之kubectl命令行工具部署
摘要:随着版本的不断迭代,k8s为了集群安全,集群中趋向采用TLS+RBAC的安全配置方式,所以我们在部署过程中,所有组件都需要证书,并启用RBAC认证. 我们这里采用二进制安装,下载解压后,把对应组 ...
- K8S从入门到放弃系列-(13)Kubernetes集群mertics-server部署
集群部署好后,如果我们想知道集群中每个节点及节点上的pod资源使用情况,命令行下可以直接使用kubectl top node/pod来查看资源使用情况,默认此命令不能正常使用,需要我们部署对应api资 ...
- 万台规模下的SDN控制器集群部署实践
目前在网络世界里,云计算.虚拟化.SDN.NFV这些话题都非常热.今天借这个机会我跟大家一起来一场SDN的深度之旅,从概念一直到实践一直到一些具体的技术. 本次分享分为三个主要部分: SDN & ...
- K8S从入门到放弃系列-(9)kubernetes集群之kubelet部署
摘要: Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volume ...
- K8S从入门到放弃系列-(14)Kubernetes集群Dashboard部署
Dashboard是k8s的web界面,用户可以用 Kubernetes Dashboard 部署容器化的应用.监控应用.并对集群本身进行管理,在 Kubernetes Dashboard 中可以查看 ...
随机推荐
- 针对Java集合类的小总结
Java集合类包位于java.util下,有很多常用的数据结构:数组.链表.队列.栈.哈希表等等.了解不同的集合类的特性在开发过程中是比较重要的,感谢@兰亭风雨的专栏分析,这里我也根据自己的理解做轻度 ...
- Swaks伪造邮件
一.搭建邮件服务器 首先需要自己搭建邮件服务器采用的是EwoMail搭建参考链接: http://doc.ewomail.com/docs/ewomail/install 二.邮件伪造发送 swaks ...
- ASCII, Unicode 与 UTF-8
1,ASCII 由于计算机是美国人发明的,最早只有127个字符,即大小写英文字母.数字.一些符号,被编码到计算机里,这个编码表就是ASCII表.这时每个字符用1 Byte表示. 2,Unicode 当 ...
- php 数据导出到excel 2种带有合并单元格的导出
具体业务层面 可能会有所不同.以下两种方式涉及的合并单元格地方有所不同,不过基本思路是一致的. 第一种是非插件版本.可能更容易理解点,基本思路就是 组装table 然后 读取 输出到excel上.缺点 ...
- chrome控制台使用jquery
html页面中加入:<script type="text/javascript" src="http://static.fanxian.com/script/jqu ...
- CentOS 7.2部署NTP服务器实现时间同步
CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区 作者:梁明远 [字体:大 中 小] 1. 前言 对于容器编排系统,前段时间主要研究kube ...
- VS2010-MFC(常用控件:列表框控件ListBox)
转自:http://www.jizhuomi.com/software/186.html 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示.列表框可分为单 ...
- System.Configuration.ConfigurationManager.cs
ylbtech-System.Configuration.ConfigurationManager.cs 1.程序集 System.Configuration, Version=4.0.0.0, Cu ...
- 阿里云CentOs7上安装Tomcat
一.下载安装tomcat8 cd /usr/ #创建tomcat目录 mkdir tomcat #从网上download 压缩包 wget tomcat8 url #解压 tar -zxvf apac ...
- 《DSP using MATLAB》Problem 8.34
今天下了小雨,空气中泛起潮湿的味道,阴冷的感觉袭来,心情受到小小影响. 代码: hp2lpfre子函数 function [wpLP, wsLP, alpha] = hp2lpfre(wphp, ws ...