美文网首页
kubernetes ingress 部署

kubernetes ingress 部署

作者: hi小羊 | 来源:发表于2017-10-12 16:23 被阅读0次

    我们可以使用kube-proxy实现service的负载均衡,但是使用kube-proxy方式有一定的局限,比如远程计算机的ip会被抹掉,随着服务越来越多,port数量受限等,所以可以通过配置ingress实现容器的负载均衡,获得更多的feature。
    配置主要包含以下几个方面:

    1. 准备tls密钥文件。
      参考链接: https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tls
      (如果使用非加密方式访问,那么官方的nginx-ingress-controller.yaml使用的nginx dockerfile生成的nginx controller会默认返回code 301.如下图所示)
    image.png
    1. 创建nginx-ingress-controller。
      参考链接:
      https://github.com/kubernetes/ingress-nginx/tree/master/examples/deployment
      github里面还有其他的实现ingress controller的方式,这里我选用了nginx
    2. 创建ingress
      参考链接:
      https://kubernetes.io/docs/concepts/services-networking/ingress/#simple-fanout
      sample code
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: app-ingress
    spec:
      tls:
      - secretName: app-secret
      rules:
      - http:
          paths:
          - path: /mongotest
            backend:
              serviceName: app-svc
              servicePort: 9000
          - path: /test2
            backend:
              serviceName: app-svc
              servicePort: 9000
    
    

    (此处没有设置hosts,如果你想要应用只接受本地请求,那么可以设置hosts参数)

    1. 创建ingress 后,查看ing状态
    image.png
    1. 浏览器中访问 https://ip/path
    image.png

    相关文章

      网友评论

          本文标题:kubernetes ingress 部署

          本文链接:https://www.haomeiwen.com/subject/rcloyxtx.html