Helm 3安装Nginx Ingress Controller

安装

先添加Chart仓库。

helm repo add nginx-stable https://helm.nginx.com/stable

helm repo update

查找nginx-ingress,我们选择nginx-stable/nginx-ingress Chart。

helm search repo nginx-ingress

NAME                            CHART VERSION   APP VERSION     DESCRIPTION

nginx-stable/nginx-ingress      0.7.0           1.9.0           NGINX Ingress Controller

stable/nginx-ingress            1.41.3          v0.34.1         DEPRECATED! An nginx Ingress controller that us...

stable/nginx-lego               0.3.1                           Chart for nginx-ingress-controller

展示values.yaml文件,分析helm安装Nginx Ingress的命令行覆盖参数。

helm show values nginx-stable/nginx-ingress

由于Nginx Ingress的service缺省采用"type: LoadBalancer",为了外部访问,修改为"type: NodePort",顺便设置固定的nodePort。

helm install nginx-ingress nginx-stable/nginx-ingress \  --set controller.service.type=NodePort \  --set controller.service.httpPort.nodePort=80 \  --set controller.service.httpsPort.nodePort=443

-n ingress-controller

kc get svc -n ingress-controller

NAME            TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE

ingress-nginx   NodePort   192.168.96.148   <none>        80:30080/TCP,443:30443/TCP   188d

使用

先创建1个集群服务

vi echo-service.yaml

--- apiVersion: v1 kind: Service metadata:  labels:    app: echo  name: echo spec:  ports:  - name: http    port: 8080    protocol: TCP    targetPort: 8080  selector:    app: echo --- apiVersion: apps/v1 kind: Deployment metadata:  labels:    app: echo  name: echo spec:  replicas: 1  selector:    matchLabels:      app: echo  strategy: {}  template:    metadata:      creationTimestamp: null      labels:        app: echo    spec:      containers:      - image: e2eteam/echoserver:2.2        name: echo        ports:        - containerPort: 8080        env:          - name: NODE_NAME            valueFrom:              fieldRef:                fieldPath: spec.nodeName          - name: POD_NAME            valueFrom:              fieldRef:                fieldPath: metadata.name          - name: POD_NAMESPACE            valueFrom:              fieldRef:                fieldPath: metadata.namespace          - name: POD_IP            valueFrom:              fieldRef:                fieldPath: status.podIP        resources: {}

kubectl apply -f echo-service.yaml

vi echo-ingress.yaml

apiVersion: extensions/v1beta1 kind: Ingress metadata:  name: echo-ingress  namespace: default  annotations:    kubernetes.io/ingress.class: nginx spec:  rules:  - host: echo.com    http:      paths:      - path: /        backend:          serviceName: echo          servicePort: 8080

kubectl apply -f echo-ingress.yaml

通过代理访问echo服务

curl -i -H "Host: echo.com" http://192.168.1.55:30080/ HTTP/1.1 200 OK Server: nginx/1.17.9 Date: Fri, 27 Mar 2020 11:13:40 GMT Content-Type: text/plain Transfer-Encoding: chunked Connection: keep-alive     Hostname: echo-75cf96d976-bdh6l Pod Information:        node name:      k8s-node1        pod name:       echo-75cf96d976-bdh6l        pod namespace:  default        pod IP: 10.244.1.3 Server values:        server_version=nginx: 1.14.2 - lua: 10015 Request Information:        client_address=10.244.2.4        method=GET        real path=/        query=        request_version=1.1        request_scheme=http        request_uri=http://echo.com:8080/ Request Headers:        accept=*/*        connection=close        host=echo.com        user-agent=curl/7.29.0        x-forwarded-for=10.244.0.0        x-forwarded-host=echo.com        x-forwarded-port=80        x-forwarded-proto=http        x-real-ip=10.244.0.0 Request Body:        -no body in request-

https://www.shengchulai.com/blog-P5EsLgAoxj.htm

(0)

相关推荐

  • 从零开始了解kubernetes

    kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群.滚动升级回滚.弹性伸缩.自动治愈.服务发现等多种特性能力. 本文将带着大家快速了解 kubernetes , ...

  • kubernetes之helm简介、安装、配置、使用指南

    helm简介 很多人都使用过Ubuntu下的ap-get或者CentOS下的yum, 这两者都是Linux系统下的包管理工具.采用apt-get/yum,应用开发者可以管理应用包之间的依赖关系,发布应 ...

  • Kubernetes 1.19 国内镜像源部署,部署前后端服务,以及 Gitlab的helm部署

    本篇博客将详细介绍如何在云服务器上搭建 Kubernetes 1.19 集群,以及在我们部署好的集群上使用 Helm 部署 gitlab和 minio 服务. 部署环境 两台云服务器 配置为: 4 核 ...

  • ubuntu18安装Kubernetes 1.20.5

    在以前的文章   Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装 和  Centos 使用kubeadm安装Kubernetes 1.15.3,由于某些原因需要更新版本, ...

  • Nginx总结(一)一步一步教你如何安装Nginx

    以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结.趁最近有时间,打算将Nginx相关的内容重新整理一下.nginx系列文章地址如下: https://www.cnblogs. ...

  • 第一次安装nginx过程

    docker pull nginx 命令安装 查找 DockerHub 上的 nginx 镜像 runoob@runoob:~/nginx$ docker search nginxNAME DESCR ...

  • docker 运行容器,安装Nginx

    ###########################################运行容器#安装Nginx#搜索.下载镜像docker search nginxdocker pull nginxd ...

  • ubuntu下安装nginx时PCRE库、zlib库、OpenSSL库的安装

    Nginx是高度自由化的Web服务器,它的功能是由许多模块来支持.如果使用了某个模块,这个模块使用了一些类似zlib或OpenSSL等的第三方库,那么就必须先安装这些软件.Ubuntu下不像在cent ...

  • ubuntu安装nginx与配置

    命令行安装: sudo apt-get install nginx 安装好的文件位置: /usr/sbin/nginx:主程序 /etc/nginx:存放配置文件 /usr/share/nginx:存 ...

  • Docker 安装 Nginx

    Docker 安装 Nginx 查找 DockerHub 上的 nginx 镜像 runoob@runoob:~/nginx$ docker search nginxNAME DESCRIPTION ...

  • 手把手教你,docker安装nginx

    https://www.shengchulai.com/blog-vR35Nm9LAB.htm 1)下载镜像 打开网易蜂巢镜像中心 https://c.163yun.com/hub#/m/home/ ...

  • Linux上安装nginx

    环境:centos7   nginx1.16.1(源码安装) 一.下载nginx源码包 地址:http://nginx.org/en/download.html Mainline version(主线 ...

  • Centos7安装nginx

    记录干货... 一.下载.解压 在centos下载依赖库: yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib z ...