网站首页 > 开源技术 正文
一,kubernetes 分布式集群架构
服务注册和服务发现问题怎么解决的?
每个服务分配一个不变的虚拟IP+端口
系统env环境变量里有每个服务的服务名称到IP的映射
client = new Predis\Client([
'scheme' => 'tcp',
'host' => getenv('REDIS_MASTER_SERVICE_HOST') ,
'port' => $read_port,
]);
二,kubernetes集群架构例子
1.创建redis-master Pod和服务
2. 创建redis-slave Pod和服务
3. 创建frontend Pod和服务
经过上面的三个步骤,我们终于成功实现了留言板系统在Kubernetes
上的部署工作,现在到了一起来见证成果的时刻了,在你的笔记本上
打开浏览器,输入下面的URL:
http://虚拟机IP:30001
如果看到如图1.4所示的网页,并且看到网页上有一条留言——“Hello
World!”,那么恭喜你,之前的努力没有白费,如果看不到这个网页,
可能有几个原因,比如防火墙的问题,无法访问30001端口,或者因
为你是代理上网,浏览器错把虚机的IP地址当成远程地址了,如果这
种情况无法解决,那么也可以在虚机上直接运行 curl localhost:30001
来验证此端口是否能被访问,如果还是不能访问,那么这肯定不是机
器的问题…
三,集群运维常见问题
1,资源隔离与调度问题
2,扩容与升级问题
3,资源配额问题
当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容器只占用了1*100/(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核。
4,私有docker registry
猜你喜欢
- 2024-11-16 2023最新 Redis面试题及答案(redis面试题详解)
- 2024-11-16 安布罗吉奥-德-普雷蒂斯 | 文艺复兴时期的画家
- 2024-11-16 laravel项目利用twemproxy部署redis集群的完整步骤php实例
- 2024-11-16 win10+php+lua+docker+redis+AB测试,实现商品秒杀代码实现
- 2024-11-16 什么是Redis缓存穿透?redis面试题及答案乐分享(附面试题大全)
- 2024-11-16 Laravel 5.5 升级到 6.0 踩坑记录
- 2024-11-16 吃透这50道redis面试题,面试不在惧怕问redis
- 2024-11-16 Linux服务器CentOS8安装Redis那点事
- 2024-11-16 六、redis中AKF问题解决方案(redis acl)
- 2024-11-16 50道Redis面试题史上最全,以后面试再也不怕问Redis了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)