[转帖]Kubernetes 领进门 | 使用 Ingress-nginx 反向代理外部站点

kubernetes,进门,使用,ingress,nginx,反向,代理,外部,站点 · 浏览次数 : 0

小编点评

**ingress-nginx 反向代理原理** **步骤:** 1. 创建外部服务: ```yaml apiVersion: v1 metadata: name: gh-proxyspec type: ExternalName externalName: github.com ports: - name: https port: 443---kind: IngressapiVersion: networking.k8s.io/v1metadata: name: &name gh-proxy annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: 100m nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/backend-protocol: HTTPS nginx.ingress.kubernetes.io/upstream-vhost: github.comspec: rules: - host: gh.rehiy.com http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: https tls: - secretName: gh.rehiy.com ``` 2. 修改 github.com 为目标域名: ``` apiVersion: v1 metadata: name: gh-proxy annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: 100m nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/backend-protocol: HTTPS nginx.ingress.kubernetes.io/upstream-vhost: github.comspec: rules: - host: gh.rehiy.com http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: https tls: - secretName: gh.rehiy.com ``` 3. 修改 gh.rehiy.com 为预期域名: ``` apiVersion: v1 metadata: name: gh-proxy annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: 100m nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/backend-protocol: HTTPS nginx.ingress.kubernetes.io/upstream-vhost: github.comspec: rules: - host: gh.rehiy.com http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: https tls: - secretName: gh.rehiy.com ``` 4. 应用变更操作: ``` kubectl apply -f gh-proxy.yaml ``` **注意:** - 您需要在 GitHub 上创建一个名为 gh.rehiy.com 的项目。 - 您需要创建一个名为 gh-proxy 的 Kubernetes 应用程序。 - 您需要创建一个名为 gh-proxy 的 Ingress 规则。

正文

https://cloud.tencent.com/developer/article/2187041

 

warning: 这篇文章距离上次修改已过204天,其中的内容可能已经有所变动。

 

本文旨在展示如何使用 ingress-nginx 作为反向代理加速集群外部服务原理。下文以反向代理 github 为例,读者自行修改域名即可。

创建外部服务及路由描述

  • 1、修改 github.com 为目标域名
  • 2、修改 gh.rehiy.com 为预期域名
  • 3、将下列内容保存为 gh-proxy.yaml
kind: Service
apiVersion: v1
metadata:
  name: gh-proxy
spec:
  type: ExternalName
  externalName: github.com
  ports:
    - name: https
      port: 443
---
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: &name gh-proxy
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: 100m
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/upstream-vhost: github.com
spec:
  rules:
    - host: gh.rehiy.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: *name
                port:
                  name: https
  tls:
    - secretName: gh.rehiy.com

为避免阅读障碍,详细的优化参数并未包含在内,如有需求可自行琢磨。

应用变更

操作完成后,即可通过 gh.rehiy.com 访问 github.com 的内容

kubectl apply -f gh-proxy.yaml

与[转帖]Kubernetes 领进门 | 使用 Ingress-nginx 反向代理外部站点相似的内容:

[转帖]Kubernetes 领进门 | 使用 Ingress-nginx 反向代理外部站点

https://cloud.tencent.com/developer/article/2187041 warning: 这篇文章距离上次修改已过204天,其中的内容可能已经有所变动。 本文旨在展示如何使用 ingress-nginx 作为反向代理加速集群外部服务原理。下文以反向代理 github

[转帖]Kubernetes 蓝绿发布、ABTest、滚动发布、灰度发布、金丝雀发布简介

蓝绿发布: 一些应用程序只需要部署一个新版本,并需要立即切到这个版本。因此,我们需要执行蓝/绿部署。在进行蓝/绿部署时,应用程序的一个新副本(绿)将与现有版本(蓝)一起部署。然后更新应用程序的入口/路由器以切换到新版本(绿)。然后,您需要等待旧(蓝)版本来完成所有发送给它的请求,但是大多数情况下,应

[转帖]510.【kubernetes】Service: 将外部服务定位为 Service

https://www.jianshu.com/p/de2eb6ba10d5 普通的 Service 通过 Label Selector 对后端 Endpoint 列表进行了一次抽象,如果后端的 Endpoint 不是由 Pod 提供的则 Service 还可以抽象定义任意其他服务,将一个 Kube

[转帖][问题已处理]-kubernetes中2次不同的oom处理

https://dandelioncloud.cn/article/details/1598699030236577793 起因: 同事反馈 服务挂了,kuboard上查看是服务挂掉了,liveness port 异常,通过查看pod状态,发现服务被重启了。 1 pod里的java进程因为k8s主机

[转帖]Nginx Ingress 高并发实践

概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分发挥出高性能的优势。之前我们在 Nginx Ingress on TKE 部署最佳实践 一文中讲了

[转帖]如何优雅的使用 Systemd 管理服务

https://zhuanlan.zhihu.com/p/271071439 背景:我们在构建 Kubernetes 容器化平台时,会在节点上部署各种 agent ,虽然容器化当道的今天很多程序可以直接采用 docker 方式进行运行,但我们在整个集群内部仍然大量使用了 systemd 来管理基础服

[转帖]「开源摘星计划」Prometheus监控Harbor(二进制版)

推荐 原创 键客李大白2022-08-08 11:35:07博主文章分类:Harbor进阶实战(企业实战)©著作权 文章标签云原生运维Harbor文章分类kubernetes云计算私藏项目实操分享阅读数10000+ 本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:​ ​https://g

[转帖]k8s证书永不过期

https://www.cnblogs.com/fengzi7314/p/15909220.html 第一步,在github上下载对应的版本,我的是1.22版本,所以选的是1.22版本 第二步,下载到本地解压 第三步,进入目录编辑文件,修改为100年 cd kubernetes-1.22.0/ vi

[转帖]kubernetes 资源管理概述

https://cizixs.com/2018/06/25/kubernetes-resource-management/ kubernetes 资源简介 什么是资源? 在 kubernetes 中,有两个基础但是非常重要的概念:node 和 pod。node 翻译成节点,是对集群资源的抽象;pod

[转帖]Kubernetes中的nodePort,targetPort,port的区别和意义(转)

原文https://blog.csdn.net/u013760355/article/details/70162242 https://blog.csdn.net/xinghun_4/article/details/50492041 1. nodePort 外部机器可访问的端口。 比如一个Web应用