Kubernetes 功能丰富而强大,学习研究期间有些概念,个人感觉还是有点绕,为了方便理解简单进行梳理,相关核心概念整理如下:
K8s控制器Deployment与DaemonSet区别
不同点
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。
DaemonSet 的不同之处在于,每个 Node 上最多只能运行一个副本。
kubernetes 中三种IP
包括
1. NodeIP node节点的IP地址
2. Pod IP pod的IP地址
3. Cluster IP service的IP地址
Node IP:是kubernetes集群中每个节点的物理网卡的IP地址,client访问kubernetes集群使用的IP地址
Pod IP:是更具创建的网络类型,网桥分配的IP地址,
Cluster IP:是一个虚拟的IP, cluster ip 仅作用于kubernetes service 这个对象,是由kubernetes管理和分配ip地址,源于cluster ip地址池
注意
Cluster IP 无法ping通, 因为没有一个实体网络对象响应,另外,因为Service其实是iptables或ipvs的转发规则,这规则不支持ICMP协议,所以ping不通。
Cluster IP 只能结合 service port 组成一个具体的通信接口,单独的cluster IP不具备tcp/ip通信基础,如果pod对外访问,需要在servcie中指定type 为 NodePort。
更改NodePort限制
Kubernetes默认对外的NodePort限制范围为30000-32767, 这里如果要使用一些常用的端口(80, 8080, 443)需将这个范围放大。
# vi /etc/kubernetes/manifests/kube-apiserver.yaml
在--service-cluster-ip-range与insecure-port间添加如下node port配置
- --service-cluster-ip-range=10.96.0.0/12
- --service-node-port-range=0-32767
- --insecure-port=0
重启服务
# systemctl restart kubelet
Pod、ReplicaSet、Deployment、Service之间的关系
Pod被ReplicaSet管理,ReplicaSet控制pod的数量;ReplicaSet被Deployment管理,Deployment控制pod应用的升级、回滚,当然也能控制pod的数量。Service提供一个统一固定入口,负责将前端请求转发给Pod。
Pod、ReplicaSet、Deployment、Service之间的关系如下图:
参考文档:
https://blog.csdn.net/u010606397/article/details/90752262
原文地址:https://blog.51cto.com/michaelkang/2431790