测试那些事儿

K8S问与答(持续更新)

2019-07-02  本文已影响4人  极客与宽客

问题:Kubenertes资源分配之Request和Limit解析

解答:如果k8s部署的时候开了profile, 所以用的都是limit字段, 不是request字段。

Limit: 容器能使用资源的资源的最大值,设置为0表示使用资源无上限。

Request: 容器使用的最小资源需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配资源量>=容器资源请求数时才允许将容器调度到该节点。但Request参数不限制容器的最大可使用资源。

Request能够保证Pod有足够的资源来运行,而Limit则是防止某个Pod无限制地使用资源,导致其他Pod崩溃。两者之间必须满足关系: 0<=Request<=Limit<=Infinity (如果Limit为0表示不对资源进行限制,这时可以小于Request)

参考:https://blog.csdn.net/qq_38391495/article/details/71598803

问题:iptables 规则

解答:http://www.zsythink.net/archives/1199/

问题:获取集群node信息

解答:当我们ssh root@xxx.xxx.xx.xxx, 输入kubectl get nodes得到节点信息,需要注意的是当前执行命令的地方并不是以下节点。我们是通过K8S命令行工具kubectl远程管理集群的。 执行kubectl cluster-info可以看到集群信息。

问题:Pod是什么

解答:Pod是容器的集合,通常会将紧密相关的一组容器放到一个Pod中,同一个Pod中的所有容器共享IP地址和Port空间,他们在同一个network namespace中。

Pod是k8s调度的最小单位,同一Pod中的容器始终被一起调度。

运行kubectl get pods,查看当前的Pod有哪些。

运行k describe pods,查看当前的pod信息

问题:如何访问应用

解答:默认情况下,pod只能在集群内部访问。如果想从外部访问应用,需要将容器的端口映射到节点的端口。使用kubectl get services. 可以查看到应用被映射到节点的哪个端口。

问题:Scale应用增加副本数量&k8s是如何实现负载均衡的

解答:默认情况下应用只会运行一个副本,可以通过kubectl get deployments查看副本数。

执行命令: kubectl scale deployments/$(deployment name) --replicas=3(你想要改成的nuber数量)

然后执行:kubectl get pods 可以看到当前pod增加到3个。

通过curl访问应用,可以看到每次请求发送到不同的Pod, 3个副本轮询处理,这样就实现了负载均衡。

scale down:减少副本数量,详情参照下图。

scale describe scale down

持续更新。。。。。

上一篇下一篇

猜你喜欢

热点阅读