安装Nginx ingress

    我们使用helm来部署,保存在私有的仓库中,请确保您已经安装和配置好helm,helm安装使用见使用Helm管理kubernetes应用

    安装时需要用到的镜像有:

    • sophos/nginx-vts-exporter:v0.6
    • gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.15
    • gcr.io/google_containers/defaultbackend:1.3

    gcr.io中的那个两个镜像我复制了一份到时速云,可供大家下载:

    • index.tenxcloud.com/jimmy/defaultbackend:1.3
    • index.tenxcloud.com/jimmy/nginx-ingress-controller:0.9.0-beta.15

    安装nginx-ingress chart到本地repo中

    修改配置,启用RBAC支持,相关配置见。

    查看niginx-ingress

    1. $ helm search nginx-ingress
    2. local/nginx-ingress 0.8.9 An nginx Ingress controller that uses ConfigMap...
    3. stable/nginx-ingress 0.8.9 An nginx Ingress controller that uses ConfigMap...
    4. stable/nginx-lego 0.3.0 Chart for nginx-ingress-controller and kube-lego

    访问Nginx

    首先获取Nginx的地址,从我们使用helm安装nginx-ingress命令的输出中那个可以看到提示,根据提示执行可以看到nginx的http和https地址:

    1. export HTTPS_NODE_PORT=$(kubectl --namespace default get services -o jsonpath="{.spec.ports[1].nodePort}" nginx-ingress-nginx-ingress-controller)
    2. export NODE_IP=$(kubectl --namespace default get nodes -o jsonpath="{.items[0].status.addresses[1].address}")
    3. echo "Visit http://$NODE_IP:$HTTP_NODE_PORT to access your application via HTTP."
    4. echo "Visit https://$NODE_IP:$HTTPS_NODE_PORT to access your application via HTTPS."
    5. Visit https://172.20.0.113:31053 to access your application via HTTPS.

    我们分别在http和https地址上测试一下:

    • /healthz返回200
    • /返回404错误
    1. helm delete --purge nginx-ingress

    使用--purge参数可以彻底删除release不留下记录,否则下一次部署的时候不能使用重名的release。