Kubernetes – Ingress

本文介绍如何使用Kubernetes的Ingress资源来替代传统的hostPort和NodePort暴露服务的方式,通过实例展示如何配置Ingress以实现负载均衡、虚拟主机等功能,并减少主机端口占用,简化安全配置。

用户在 Kubernetes 上部署的服务一般运行于私有网络,Pod和Service 提供了 hostPort,NodePort等参数用于暴露这些服务端口到K8S节点上,供使用者访问。这样的方法有明显缺点:

1)容易占用过多的主机端口;

2)服务端口暴露到多台主机会增加防火墙和安全配置的难度

3)默认的hostPort,NodePort方式没有负载均衡的作用

 

K8S的 Ingress 资源提供了另一种服务暴露的方法,它可以获取各个服务的状态,传递给nginx等工具进行配置修改、重新加载等工作,实现负载均衡、虚拟主机、SSL等功能。并且它只需要占用一台主机的80、443、8080三个端口就可以为所有HTTP服务实现上述功能。

 

关于nginx ingress的安装,K8S有相关说明,网上也有很多文档可参考:

https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx

apiVersion: v1
kind: Service
metadata:
name: gitlab-svc
namespace: gitlab5
spec:
ports:
- port: 80
name: web
selector:
name: gitlab
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: git.mydomain.com
namespace: gitlab5
spec:
rules:
- host: git.mydomain.com
http:
paths:
- path: /
backend:
serviceName: gitlab-svc
servicePort: 80

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值