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
  • 相关阅读:
    2014-11-27-0047-Java
    js去除数组中重复值
    一个数据表更新另外一个数据表(SQL)
    《js12种设计模式》
    《可编辑td》
    《JS 隔行换色》
    用Autohotkey让Kitty命令行变得更好用
    View epub and mobi File on Linux
    DrJava试用笔记
    Notes about BSD
  • 原文地址:https://www.cnblogs.com/liubin0509/p/7550374.html
Copyright © 2011-2022 走看看