• 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
  • 相关阅读:
    java基础(上)
    java前奏
    Spring框架介绍
    bootstrap简单学习
    存储过程和函数
    触发器
    视图
    索引
    mysql增、删、改数据
    子查询
  • 原文地址:https://www.cnblogs.com/liubin0509/p/7550374.html
Copyright © 2020-2023  润新知