首页 > 系统相关 >helm 安装 nginx-ingress-controller v1.10.0

helm 安装 nginx-ingress-controller v1.10.0

时间:2024-03-30 18:23:56浏览次数:25  
标签:ingress 443 v1.10 nginx controller helm 80

1、说明准备

nginx-ingress 三种不同的部署模式

  • Deployment+LoadBalancer

采用deployment进行部署nginx-ingress-controller,需要创建一个type:LoadBalancer的service进行关联nginx-ingress-controller这组pod。通常是在使用公有云进行创建负载均衡器并绑定公网地址。只要将域名解析指向该地址,即可实现集群服务的对外访问。

  • Deployment+NodePort

采用deployment进行部署nginx-ingress-controller,需要创建一个type:NodePort的service进行关联nginx-ingress-controller这组pod。ingress暴露在集群节点ip的特定端口上。由于nodeport暴露的端口是随机端口,一般会在前面再搭建一套负载均衡器来转发请求。改方式一般用于宿主机是相对固定的环境ip地址不变的场景。

  • DaemonSet+HostNetwork

用DaemonSet 结合nodeselector来部署ingress-controller到特定的Node上。然后使用HostNetwork直接把该pod与宿主机node的网络打通,直接使用宿主机的80/443端口就能访问服务。该方式整个请求链路最简单,性能相对nodeport模式更好。缺点是由于直接利用宿主机节点的网络和端口,一个node只能部署一个ingress-controller pod。比较适合大并发的生产环境使用

2、二进制安装helm

helm官方文档
helm-v3.14.3下载

下载 需要的版本
$ tar -zxvf helm-v3.14.3-linux-amd64.tar.gz
在解压目录中找到helm程序,移动到需要的目录中
$ mv linux-amd64/helm /usr/local/bin/helm

3、添加nginx-ingress-controller repo

$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm search repo ingress-nginx
NAME                            CHART VERSION   APP VERSION     DESCRIPTION                                       
ingress-nginx/ingress-nginx     4.10.0          1.10.0          Ingress controller for Kubernetes using NGINX a...
$ helm pull ingress-nginx/ingress-nginx --version 4.10.0

由于无法拉取包的网络问题,通过脚本进行下载helm相关的chart包

ingress-nginx-4.10.0 helm 下载

4、修改values.yaml文件

4.1、修改镜像仓库

......省略......
controller:
  name: controller
  enableAnnotationValidations: false
  image:
    ## Keep false as default for now!
    chroot: false
    #registry: registry.k8s.io
    registry: registry.aliyuncs.com
    image: google_containers/nginx-ingress-controller
....再省略...........
    patch:
      enabled: true
      image:
        registry: registry.aliyuncs.com
        image: google_containers/kube-webhook-certgen
        tag: v1.4.0
        #digest: sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334   注释掉
        pullPolicy: IfNotPresent

4.2、修改hostNetwork

  hostNetwork: true

4.3、修改dnsPolicy

  dnsPolicy: ClusterFirstWithHostNet

4.4、修改kind类型

  kind: DaemonSet

4.5、修改nodePort

    type: NodePort
.........省略,这里有俩个nodePorts修改.......
    nodePorts:
      # -- Node port allocated for the external HTTP listener. If left empty, the service controller allocates one from the configured node port range.
      http: "80"
      # -- Node port allocated for the external HTTPS listener. If left empty, the service controller allocates one from the configured node port range.
      https: "443"

这里修改为80和443端口,同时要进行修改kube-api.yaml中的参数,增加参数:

#主节点的kube-api都要进行修改,这样就能支持80和443,否则在安装过程中会提示端口范围问题
$ vim /etc/kubernetes/manifests/kube-apiserver.yaml
    - --service-node-port-range=1-65535
$ systemctl daemon-reload
$ systemctl restart kubelet

5、安装ingress-nginx

在ingress-nginx目录中
$ kubectl create ns ingress-nginx
$ helm install ingress-nginx -n ingress-nginx .   #安装
$ helm uninstall ingress-nginx -n ingress-nginx   #卸载

[root@K8SMS0001 ingress-nginx]# kubectl get pods -n ingress-nginx
NAME                             READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-7mgtk   1/1     Running   0          96m
ingress-nginx-controller-gtdsb   1/1     Running   0          96m
ingress-nginx-controller-rnvhl   1/1     Running   0          96m

[root@K8SMS0001 ingress-nginx]# kubectl get svc -n ingress-nginx
NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                 AGE
ingress-nginx-controller             NodePort    10.96.179.151   <none>        80:80/TCP,443:443/TCP   97m
ingress-nginx-controller-admission   ClusterIP   10.96.138.59    <none>        443/TCP                 97m

标签:ingress,443,v1.10,nginx,controller,helm,80
From: https://www.cnblogs.com/linuxk/p/18105831

相关文章

  • Nginx(面试)
    NGINX速记问答Q什么是Nginx?它的主要特点是什么?ANginx是一个高性能的开源Web服务器和反向代理服务器。它以高并发、低内存消耗和高稳定性著称。QNginx与ApacheWeb服务器有什么区别?ANginx与Apache相比,更适用于处理高并发和静态内容。它使用异步、事件驱动的架构,占用......
  • 下载阿里云服务器的SSL证书,并部署到Nginx服务中
    环境说明linux系统版本:lsb_release-a  JDK版本:1.8  不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。.1.登录阿里云服务器,下载SSL证书。  选择SSL证书->免费证书->下载。  选择Nginx证书进行下载,因为真实访问的时候,都是访问ng......
  • windows下nginx-rtmp-module的编译方法
    ForewordLinux为当前nginx添加rtmp模块非常的方便,sudo./configure--add-module+sudomake就完事儿了,但是windows比较复杂,没有包管理器,所以各个模块的源码要自己找,下面是我在windows11下的nginxwithrtmpmodule的编译记录。编译器工具链大概有msvctoolchain,perl......
  • 深入理解nginx mp4流媒体模块[下]
    深入理解nginxmp4流媒体模块[上]深入理解nginxmp4流媒体模块[中]  以下对各个mp4的加载过程依次进行分析。1.加载ftypatom  加载ftypatom的逻辑由ngx_http_mp4_read_ftyp_atom函数来完成,其最主要的逻辑就是将文件中读取到的ftypatom放到ngx_http_mp4_file_t上......
  • 用docker创建nginx反向代理tcp流量
    有这样一个需求,需要反向代理一个tcp连接,我打算用nginx来做,比较简单的实现掉./conf/nginx.conf配置文件usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connections1024;}......
  • 使用Nginx服务部署一个表白的网站
    表白网站源码链接:https://pan.baidu.com/s/1Y0xKhlCfThaQJkIQU4Zi9w?pwd=erlt 提取码:erlt附上一张样例,这些可DIY修改:下面开始部署吧!  一.注册云服务器,并在安全规则开放80端口设置可访问ip为任意IP即0:0:0:0.这里不在赘述,详情可访问博主上篇详解:CSDN二.配置yum源#配......
  • 云服务器ubuntu下nginx和php-fpm环境配置
    云服务器ubuntu下nginx和php-fpm环境配置1.首先更新源apt-getupdate2.安装nginx服务apt-getinstall-ynginx3.查看nginx状态,如果显示中有active(running),表示已经安装成功servicenginxstatus4.寻找可安装的php-fpm中间件apt-cachesearchphp-fpm5.安装可安装......
  • 云计算笔记03--配置yum源及下载nginx并上传项目至服务器(常用命令 lrzsz cat head tail
    配置yum源首先将系统自带的yum源进行备份cd/etc/yum.repos.d///进入到yum配置目录mkdirbackup//创建一个备份目录mv*.repobackup///将所有以.repo结尾的文件移动到备份目录中#阿里云的yum源网站:https://developer.aliyun.com/......
  • 使用 Nginx Proxy Manager反向代理开启SSL
    今天又看到有人在推荐NginxProxyManger(太长了,下文NPM指代),于是我也在局域网的机器内装了一个,发现确实简单好用完全的界面操作非常便捷而且支持使用CloudflareDNS验证申请Let’sEncrypt的通配符证书,也很方便设置访问限制。安装部署使用Docker安装是非常的简单首先创建nginx-p......
  • docker创建nginx
    操作系统Linuxversion5.15.0-86-generic(buildd@lcy02-amd64-086)(gcc(Ubuntu11.4.0-1ubuntu1~22.04)11.4.0,GNUld(GNUBinutilsforUbuntu)2.38)#96-UbuntuSMPWedSep2008:23:49UTC2023查找nginx1.24sudodockersearchnginx:1.24拉nginx1.24sudodock......