K8S调度下的ingress-controller集群的实现以及nginx配置

# 22、K8S调度下的ingress-controller集群的实现以及nginx配置

目标: 1. 实现ingress-controller的集群部署

实现方法: 1.  为ingress-controller 规划两个节点

2.将这两个节点 打上自定义的 label

3.修改yaml文件,并重新创建 ingress-control

   1.     进入k8s主节点ingress yaml文件目录

    Cd /data/developercenter_kubernetes/ingress

     查看节点的label

    kubectl get nodes --show-labels

  2.为规划的ingress-controller节点打上标签

    语法格式: kubectl label nodes <node-name> <label-key>=<label-value>

    示例:

    kubectl label nodes k8s-master beta.kubernetes.node=ingress.control

    kubectl label nodes ip beta.kubernetes.node=ingress.control

    3.删除ingress-controller

             kubectl  delete -f with-rbac.yaml

    4.修改配置文件 编辑 /data/developercenter_kubernetes/ingress/with-rbac.yaml 文件(修改前先备份该文件)

          本文件共修改两处:

           第一处:  修改pod数量为2

             将 replicas: 1   修改成   replicas: 2

第二处: 将ingress-controller  部署到规划中的节点(即刚才打标签的节点)

           nodeSelector:

            beta.kubernetes.node: ingress.control

 4.创建 ingress-controller

     kubectl  create  -f with-rbac.yaml

 5.基础镜像拷贝的ingress-controller规划节点(k8s服务相关基础镜像均没有上传到docker仓库,因此需要手工拷贝并导入到ingress规划节点)

  k8s 主节点执行:

  docker save -o nginx-ingress-controller.tar cloud-kubernetes/nginx-ingress-controller:0.11.0

   ingress 规划节点执行:

  docker load -i nginx-ingress-controller.tar


 

6.验证

        命令:  kubectl  get pod -n ingress-nginx

      如图即为成功,可以看到ingress-controller分步在两个节点上:

    kubectl  get pod -n ingress-nginx

    kubectl  describe pod nginx-ingress-controller-6ffb549676-qtct2  -n ingress-nginx |grep IP

7.查看k8s中应用的域名

方法一:select app_id,app_name from yonyou_cloud.app_manage;(直接从数据库中查询部署的应用对应生成的ID)

方法二:

  l        查看ingress-controller的pod名

       kubectl  get pod -n ingress-nginx


 

  l        查看ingress-controller中的nginx配置,确认应用名格式(k8s为应用生成的域名固定格式为:应用ID + 固定后缀)

       kubectl  exec -it nginx-ingress-controller-6ffb549676-5pq4m -n ingress-nginx  grep server_name  /etc/nginx/nginx.conf

   l        确认应用的真实域名  

   353版本

                     进入开发者中心(http://主节点ip:80),查看应用生成的真实域名,

                     如下图中可以看到,域名为 bxgd7iw7.c87e2267-1001-4c70-bb2a-ab41f3b81aa3.app.uap.com

                            对比上一条命令,可以知道  mmm 应用,对应在k8s中的域名为   bxgd7iw7.prod1.cloud-k8s.com

                            此域名也即为在nginx中使用的域名

8.nginx的配置

  配置文件,请参考附件22、K8S调度下的ingress-controller集群的实现以及nginx配置


 

-------------------------------------------------------------      

[root@dc-yunwei-ansible conf.d]# cat aa.conf

upstream aa.pool {

                 ip_hash;

                 server ip1;          # 这里写两台ingress-controller节点的ip地址

                 server ip2;

             }

server

     {

            listen                  80;

            server_name    aa.k8.com;    #这里下客户自定义的域名,

            access_log    /usr/local/nginx/logs/aa.com_access.log;


 

   location / {

//             root                   /;

             proxy_redirect                     off ;

             proxy_set_header X-Forwarded-Host $http_host;

             proxy_set_header X-Forwarded-For $remote_addr;

             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

             proxy_connect_timeout 300;

//             proxy_headers_hash_max_size 512;

             proxy_send_timeout 300;

             proxy_read_timeout 600;

//             proxy_buffer_size 64k;

             proxy_buffers 4 64k;

             proxy_busy_buffers_size 64k;

             proxy_temp_file_write_size 64k;

             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

             proxy_max_temp_file_size 128m;

             proxy_set_header Host "jquukbal.prod1.cloud-k8s.com";                #这里写k8s为应用生成的域名  

             set $proxy_upstream_name "jquukbal.prod1.cloud-k8s.com";          #这里写k8s为应用生成的域名  

             proxy_pass    http://aa.pool/;                 #这里写上面配置的upstream

             proxy_ignore_client_abort on;

             proxy_headers_hash_max_size 51200;

             proxy_headers_hash_bucket_size 6400;

          }

}

----------------------------------------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/555143.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wps导出pdf文献引用不能跳转解决办法

问题描述 本科论文参考文献使用wps设置交叉引用&#xff0c;但导出pdf后无法跳转引用 尝试 用office word打开文件word版跳转没有问题&#xff0c; 另存为pdf或导出pdf。 但是pdf版跳转完全错误。 16跳到14.但是总体而言都是跳到包含该序号的页 要求不高的话也可以&#x…

【IC前端虚拟项目】接口分析与agent组件生成

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 到目前为止关于环境的准备工作都已经完成了,甚至验证环境的大体结构我们也已经画好了,再来看一下: 于是乎呢就可以大张旗鼓的开始咱们验证环境的搭建了!看上面这个结构图,里面除了mvu作为DUT,其他…

④【Shiro】Shiro框架进行敏感信息加密

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ ④【Shiro】Shiro框架进行敏感信息加密 实际系…

Http 请求偶发400错误

1. 背景 生产环境偶发400请求错误&#xff0c;发生概率万分之一&#xff0c;异常信息如下&#xff1a; 1&#xff09; 从异常信息可以看到&#xff0c;skywalking的sw8 header解析失效导致异常信息。 2&#xff09; 0x0d0x0a 作为回车换行符号&#xff0c;没有被正确处理&#…

【配电网故障定位】基于二进制蝙蝠算法的配电网故障定位 33节点配电系统故障定位【Matlab代码#80】

文章目录 【获取资源请见文章第6节&#xff1a;资源获取】1. 配电网故障定位2. 二进制蝙蝠算法3. 算例展示4. 部分代码展示5. 仿真结果展示6. 资源获取 【获取资源请见文章第6节&#xff1a;资源获取】 1. 配电网故障定位 配电系统故障定位&#xff0c;即在配电网络发生故障的…

【笔试训练】day5

今天的题&#xff0c;最后一题忘公式了&#xff0c;卡了一会推出来了 1、游游的you 思路&#xff1a; 看清题目意思就行&#xff0c;这里的相邻两个o可以重复算&#xff0c;也就是说&#xff0c;“ooo”算2分。 先算you的得分&#xff0c;再算oo 对了&#xff0c;不开long lo…

IMX6ULL-UBOOT驱动移植

介绍 IMX6ULL正点原子开发板使用的是14x14_evk的芯片 其中14x14代表的是芯片的尺寸。 本教程的标识符以nsouther或者 NSOUTHER NSouther为主 添加板子自己的配置文件 板子的默认配置文件保存在 configs目录下&#xff0c;我们以mx6ull_14x14_evk_emmc_defconfig为主&#xf…

面试遇到的算法题

1.字符串转换整数 读入字符串并丢弃无用的前导空格检查下一个字符&#xff08;假设还未到字符末尾&#xff09;为正还是负号&#xff0c;读取该字符&#xff08;如果有&#xff09;。 确定最终结果是负数还是正数。 如果两者都不存在&#xff0c;则假定结果为正。读入下一个字…

Flume 入门教程

内容目录 Flume 简介 架构和基本概念 多种架构模式 Flume 安装部署 Flume 简介 Flume 是一个分布式、可靠且高可用的数据收集、聚合和传输系统&#xff0c;主要用于高效地处理大规模日志数据。设计之初&#xff0c;它主要服务于日志管理领域&#xff0c;但其灵活性和可扩展…

基于XML配置bean(二)

文章目录 1.工厂中获取bean1.静态工厂1.MyStaticFactory.java2.beans.xml3.测试 2.实例工厂1.MyInstanceFactory.java2.beans.xml3.测试 3.FactoryBean&#xff08;重点&#xff09;1.MyFactoryBean.java2.beans.xml3.测试 2.bean配置信息重用继承抽象bean1.beans.xml2.测试 3.…

多模态之BLIP—实现统一的视觉语言理解和生成,细节理解与论文详细阅读:Bootstrapping Language-Image Pre-training

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation BLIP&#xff1a;引导语言图像预训练&#xff0c;实现统一的视觉语言理解和生成 Paper: https://arxiv.org/pdf/2201.12086.pdf Github: https://github.com/sa…

Ansys workbench连接器端子保持力仿真教程

端子保持力&#xff08;Contact Retention Force&#xff09;是电子连接器机械特性中的常见参数&#xff0c;它表达的是电子连接器&#xff08;Connector&#xff09;端子&#xff08;Contact&#xff09;保持在正常位置的能力。EIA专门为连接器端子保持力的测试制定了标准&…

输出100~200之间的质数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int n 100;int i 0;int result 0;//嵌套循环判断100~200之间的质数&#xff1b;for (n …

网络运输层之(3)GRE协议

网络运输层之(3)GRE协议 Author: Once Day Date: 2024年4月8日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day的…

316_C++_xml文件解析成map,可以放到QT表格上, 且 xml、xlsx文件可以互相解析

xml文件例如&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <TrTable> <tr id"0" label"TR_PB_CH" text"CH%2"/> <tr id"4" label"TR_PB_CHN"…

HZNUCTF第五届校赛实践赛初赛 Web方向 WriteUp

ezssti 很简单的ssti 源码给了&#xff0c;调用Eval即可执行命令 package mainimport ("fmt""net/http""os/exec""strings""text/template" )type User struct {Id intName stringPasswd string }func (u User) Ev…

如何在阿里云主机上安装FreeBSD14系统

文章目录 在阿里云主机上安装FreeBSD14系统准备阿里云云主机识别目标磁盘下载 FreeBSD14解压缩 FreeBSD14系统镜像创建可启动的磁盘启动 FreeBSD14在阿里云主机上安装FreeBSD14系统 阿里云主机不支持 FreeBSD14 系统的镜像,因此需要手动进行安装。 准备阿里云云主机 在阿里云…

解决Git 不相关的分支合并

可以直接调到解决方案,接下来是原因分析和每步的解决方式 问题原因: 我之前在自己本机创建了一个初始化了Git仓库,后来有在另一个电脑初始化仓库,并没有clone自己在本机Git远程仓库地址,导致Git历史版本不相关 错误信息 From https://gitee.com/to-uphold-justice-for-other…

文字转语音工具:GPT-SoVITS

诸神缄默不语-个人CSDN博文目录 OpenAI官方的TTS模型我在这篇博文中给出了使用教程&#xff1a;ChatGPT 3.5 API的调用不全指南&#xff08;持续更新ing…&#xff09; - 知乎 但是OpenAI的TTS对中文支持不好&#xff0c;有一种老外说中文的美&#xff0c;所以本文介绍另一个…

Amazon SES邮箱API发送邮件的步骤是什么?

Amazon SES邮箱API发送邮件怎么配置&#xff1f;如何用邮箱API发送邮件&#xff1f; 在数字化时代&#xff0c;电子邮件已成为企业与个人之间沟通的重要桥梁。那么&#xff0c;使用Amazon SES邮箱API发送邮件的步骤究竟是怎样的呢&#xff1f;接下来&#xff0c;就让AokSend来…
最新文章