zoukankan      html  css  js  c++  java
  • nginx ingress 在aks 上安装

    1. nginx ingress 在aks 上安装

    helm安装非常简单。

    1.1 helm安装

    # Create a namespace for your ingress resources
    kubectl create namespace ingress-basic
    
    # Add the official stable repository
    helm repo add stable https://kubernetes-charts.storage.googleapis.com/
    
    # Use Helm to deploy an NGINX ingress controller
    helm install nginx-ingress stable/nginx-ingress 
        --namespace ingress-basic 
        --set controller.replicaCount=2 
        --set controller.nodeSelector."beta.kubernetes.io/os"=linux 
        --set defaultBackend.nodeSelector."beta.kubernetes.io/os"=linux 
        --set controller.service.externalTrafficPolicy=Local 
        --set defaultBackend.image.repository=gcr.azk8s.cn/google_containers/defaultbackend-amd64
    

    若要为对群集中容器的请求启用客户端源 IP 保留,请将 --set controller.service.externalTrafficPolicy=Local 添加到 Helm install 命令中。 客户端源 IP 存储在 X-Forwarded-For 下的请求头中。 使用启用了客户端源 IP 保留的入口控制器时,SSL 传递将不起作用。

    1.2 获取ingress ip地址

    获取service即可.EXTERNAL_IP 会把真实的ip填充进去。

    $ kubectl get service -l app=nginx-ingress --namespace ingress-basic
    
    NAME                             TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
    nginx-ingress-controller         LoadBalancer   10.0.61.144    EXTERNAL_IP   80:30386/TCP,443:32276/TCP   6m2s
    nginx-ingress-default-backend    ClusterIP      10.0.192.145   <none>        80/TCP                       6m2s
    
    
    

    2. 详解解读helm安装了什么

    2.1 获取chart包并分析

    $helm pull stable/nginx-ingress
    $ls
    nginx-ingress-1.40.3.tgz
    

    解压nginx-ingress-1.40.3.tgz 即是chart 本体。熟悉的chart 结构。

    $ls
    Chart.yaml  OWNERS      README.md   ci          templates   values.yaml
    

    Values.yaml 600多行,

    上面改的地方不是很多

        --set controller.replicaCount=2 
        --set controller.nodeSelector."beta.kubernetes.io/os"=linux 
        --set defaultBackend.nodeSelector."beta.kubernetes.io/os"=linux 
        --set controller.service.externalTrafficPolicy=Local 
        --set defaultBackend.image.repository=gcr.azk8s.cn/google_containers/defaultbackend-amd64
    

    replicaCount 副本集数量。

    镜像,如果不改默认gcr.io是会被墙掉的。

    改的地方不是很多。

    2.2 其他可以配置的地方

    hpa 默认是没有打开的

    
      autoscaling:
        enabled: false
        minReplicas: 1
        maxReplicas: 11
        targetCPUUtilizationPercentage: 50
        targetMemoryUtilizationPercentage: 50
    

    可以把nginx controller 布置成daemonset 。默认是deployment。

      ## DaemonSet or Deployment
      ##
      kind: Deployment
    
    

    参考官网文档 https://docs.azure.cn/zh-cn/aks/ingress-basic

  • 相关阅读:
    表单的编辑添加和删除 .removeClass() .append() .preAll() .attr('b') document.createElement()
    菜单与内容下拉jQuery
    s2选择框的全选和反选jQuery
    作用域
    当前触发事件的两种方式(onclick) 和 ('id') 获取
    词义分析
    Qt下载地址
    字符集(编码)转换_Qt532_QString
    字符集(编码)转换_Windows
    字符集(编码)转换_Linux
  • 原文地址:https://www.cnblogs.com/gqdw/p/13281194.html
Copyright © 2011-2022 走看看