美文网首页
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