zoukankan      html  css  js  c++  java
  • Kubernetes – 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
  • 相关阅读:
    js联系题目
    js运算符
    太极图
    第一周 Welcome
    对 vscode 自动格式化的结果不太满意,我们该如何自己调整直至自己满意为止
    ASP.NET MVC5.0 OutputCache不起效果
    对照实验(1)-批量清理系统临时文件
    ES6
    19.局部变量和全局变量
    18.函数定义和参数
  • 原文地址:https://www.cnblogs.com/liubin0509/p/7550374.html
Copyright © 2011-2022 走看看