kubernetes Service服务代理、负载均衡、发布服务

Kubernetes service 代理模式

底层流量转发与负载均衡实现:
• userspace
• Iptables(默认)
• IPVS

安装:yum -y install ipvsadm
userspace代理模式
这种模式,kube-proxy会监视Kubernetes master对service对象和Endpoints对象的添加和移除
在这里插入图片描述
开启使用IPVS模式
在这里插入图片描述
1、Node:启用IPVS模式,修改配置文件

KUBE_PROXY_OPTS="--logtostderr=true \
--v=4 \
--hostname-override=192.168.1.110 \
--cluster-cidr=10.0.0.0/24 \
--proxy-mode=ipvs \
--masquerade-all=true \
 #指定默认调度算法
--ipvs-scheduler=wrr \
--kubeconfig=/opt/kubernetes/cfg/kube-proxy.kubeconfig"

2、重启kube-proxy

systemctl restart kube-proxy

IPtables模式
在这里插入图片描述
iptables实现是通过linux内核,实现linux内核级防火墙。
查看所有规则:iptables-save more
原理:通过iptables为访问来源创建许多规则,所有规则从上到下进行匹配。
问题:
  1、创建很多iptables规则(更新,非增量式)
  2、iptables规则从上到下逐条匹配(延时大)
  3、用户态处理

Iptables:
  • 灵活,功能强大(可以在数据包不同阶段对包进行操作)
  • 规则遍历匹配和更新,呈线性时延

多端口Service

很多Service需要暴露多个端口。对于这种情况,Kubernetes 支持在Service对象中定义多个端口。当使用多个端口时,必须给出所有端口的名称,这样Endpoint就不会产生歧义,例如:

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
    selector:
      app: MyApp
    ports:
      - name: http
        protocol: TCP
        port: 80
        targetPort: 9376
      - name: https
        protocol: TCP
        port: 443
        targetPort: 9377

Kubernetes 支持2种基本的服务发现模式 —— 环境变量和 DNS。

发布服务服务类型

对一些应用(如 Frontend)的某些部分,可能希望通过外部(Kubernetes 集群外部)IP 地址暴露 Service。

Kubernetes ServiceTypes 允许指定一个需要的类型的 Service,默认是 ClusterIP 类型。

Type 的取值以及行为如下:

ClusterIP:通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的 ServiceType。
NodePort:通过每个 Node 上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到 ClusterIP 服务,这个 ClusterIP 服务会自动创建。通过请求 :,可以从集群的外部访问一个 NodePort 服务。
LoadBalancer:使用云提供商的负载均衡器,可以向外部暴露服务。外部的负载均衡器可以路由到 NodePort 服务和 ClusterIP 服务。
ExternalName:通过返回 CNAME 和它的值,可以将服务映射到 externalName 字段的内容(例如, foo.bar.example.com)。 没有任何类型代理被创建,这只有 Kubernetes 1.7 或更高版本的 kube-dns 才支持。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值