关于阿里云 ACK ingress部分补充

news2024/12/22 20:10:41
强调: 本文只是作为'记录',过一段时间会'删除'

跟唐老师学习网络

一  Nginx Ingress管理

①  流量走向

需求: 应用绑定'LoadBalance',会自动创建或使用'SLB'

eip:port --> nodeport_ip:port  --> service_ip:port  --> pod_ip:port

支持的注解

通过阿里云负载均衡SLB暴露的服务 Service

通过使用自动创建SLB的服务公开应用

②  阿里云厂商的特殊注解

'原Ingress Class'为nginx-intranet

annotations:
  kubernetes.io/ingress.class: nginx-intranet 

ACK 自身的'ingress' --> ack-ingress-nginx'或'ack-ingress-nginx-v1

通过Annotation配置传统型负载均衡CLB

Annotation:

需求: 使用'已有'的负载均衡

备注: 负载均衡'实例的ID',通过此Annotation指定'已有的CLB'

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id   -->  '重要'

负载均衡实例'名称'

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name

为TCP类型的负载均衡配置'会话保持'时间

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout

++++++++++++++++++++++  "分割线"​  ++++++++++++++++++++++

需求: ingress使用公有云的'负载均衡 LoadBalance'类型

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type

  1、internet:服务通过'公网'访问,此为'默认'值,对应'CLB的地址'类型必须为'公网'

  2、intranet:服务通过'私网'访问,对应CLB的地址类型必须为'私网'

nginx-ingress-controller.yaml

③  相关信息

执行 kubectl edit deploy nginx-ingress-controller -n kube-system

--> 打开Ingress Controller的'配置'文件

++++++++++++++++++++++  "分割线"​  ++++++++++++++++++++++

当您成功创建一个集群后,'默认'情况下:

  1、集群内部已经部署了一套拥有2个Pod副本的Nginx Ingress Controller服务

  2、其'前端'挂载在一个'公网SLB'实例上

++++++++++++++++++++++  "分割线"​  ++++++++++++++++++++++

需求: 查看nginx-ingress-lb服务对应的'公网SLB地址'

kubectl -n kube-system get svc nginx-ingress-lb

④    部署Ingress Controller使用私网SLB

私网'SLB' --> 可以和'同一vpc内'非集群内的节点进行'通信'

⑤  无法访问Ingress Controller自己

⑥  Ingress Pod中无法保留源IP

⑦  Ingress规则没有生效

⑧  Nginx Ingress Controller

1、当前'Kubernetes官方维护'的是Nginx Ingress Controller

2、ACK基于'社区版'的Nginx Ingress Controller进行了'优化'

3、ACK的Nginx Ingress Controller与社区Nginx Ingress Controller完全'兼容'

4、支持社区'所有的Annotation'

5、您在ACK集群或ACK Serverless集群选择'安装的Nginx Ingress Controller'组件

6、即为'定制版'的Nginx Ingress Controller组件

备注: Nginx Ingress需要您'自行'维护

⑨  使用Nginx Ingress Controller时注意事项

⑩  修改ingress日志格式

kubectl edit cm nginx-ingress-controller -n kube-system '更新ConfigMap'

--> '修改日志格式'  --> log-format-upstream:

默认的日志访问记录输出到'/dev/stdout'

做日志切割 

Nginx Ingress高级用法

Nginx Ingress FAQ

二   全景剖析阿里云容器网络数据链路 Flannel

①  阿里云使用Flannel网络插件

1、ifconfig --> 查看'cni0、docker0'

2、集群的每个节点会起一个'flannel agent',并且会给每个节点'预分配一个Pod CIDR'

备注: 这个Pod CIDR是ACK集群的'Pod CIDR'的'子集'

1、容器的'网络命名空间内'会有一个'eth0'的虚拟网卡,同时存在'下一跳'指向该网卡的路由

2、该网卡会作为容器和宿主内核进行数据交换的'出入'口

3、容器和宿主机之间的数据链路是通过'veth pair'进行'交换'的

思考: 现在我们'已经找到'veth pair其中一个,如何去'找另一个veth'呢?

容器内: ip route show

查看docker 容器 在'宿主机器'的'pid'

docker inspect -f {{.State.Pid}} nginx

宿主机: nsenter -n -t 'pid' 进入 '容器'的命名空间 --> 查看 'eth0@ifxxx' 标识

在'容器'所在的宿主机: ip addr | grep xxx:  --> 可以找到'vethd7e7c6fd'这个'虚拟'网卡

各种场景的描述

Cloud Controller Manager  CCM

ACK专有集群配置VPC多路由表

1、使用命令kubectl edit cm -n kube-system cloud-config修改cloud-config配置项文件

备注: 将配置项文件中的${ROUTE_TABLES_IDS}替换为您的'VPC路由表ID'

"routeTableIDs": "${ROUTE_TABLES_IDS}"

kubectl edit cm -n kube-system kube-flannel-cfg

kubectl -n kube-system get pod -o wide -l app=flannel

三  EDAS相关

EDAS 创建应用后复用CLB 

Spring Cloud 接入 EDAS 服务注册与发现

EDAS'共享注册中心'地址

创建EDAS 微服务空间可以选择共享注册中心

application.propertites 配置信息

堡垒机: http://${nacos_sip}:${nacos_ip}/nacos  --> nacos密码形式'查看'

C:\Windows\System32\drivers\etc\hosts

启动轻量级配置及注册中心 

edas-lightweight-server  --> 'tgz'包

find / -name  startup.sh

8848:用来支持基于Nacos应用的配置管理及服务注册

关键: 'jmenv'

绑定hosts之后,可以直接访问'轻量级配置及注册中心域名+端口' jmenv.tbsite.net:8080

独立机器: 在'浏览器'中输入轻量级配置及注册中心地址'http://机器IP地址:8080'并回车

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员找副业有哪几个方向(纯干货)

前序 关于副业对于我自己的看法一般会先从自身的职业去拓展,毕竟自己所在的行业自己会更清楚有哪些资源去获取,那么首先我们可以先问万能的gpt我们程序员做副业有哪些实用的推荐,看看它怎么说的 外包网站接单? 每次大家提到程序…

有效降低数据库存储成本方案与实践 | 京东云技术团队

背景 随着平台的不断壮大,业务的不断发展,后端系统的数据量、存储所使用的硬件成本也逐年递增。从发展的眼光看,业务与系统要想健康的发展,成本增加的问题必须重视起来。目前业界普遍认同开源节流大方向,很多企业部门…

Python之Django框架

目录 一、Web应用 1、什么是Web应用程序 2、什么是Web框架 ​二、手写Web框架 三、Python主流的web框架 四、Django框架版本及下载 五、注意事项 六、基本使用 1、验证是否下载成功 2、常用操作命令 (1)创建django项目 (2)启动django项目 (3)创建应用 七、主要文…

腾讯云3年云服务器价格及购买教程

腾讯云作为国内领先的云计算服务提供商,提供了多种优惠的云服务器套餐,以满足不同用户的需求,本文将详细介绍腾讯云3年云服务器价格及购买教程,新老用户均可购买! 1、活动页面:传送门>>> 2、进入…

CentOS7 安装Jenkins 2.414.3 详细教程

目录 1、前提条件硬件软件-java11安装 2、安装jenkins3、启动jenkins配置用户和用户组配置JAVA_HOME 4、配置Jenkins一直处于启动状态5、测试Jenkins是否可以访问以及配置6、访问Jenkins系统 1、前提条件 硬件 内存 4G ; 硬盘 20G 软件-java11安装 上传文件jdk-11.0.21_lin…

phono3py快速安装教程

phono3py是类似于Phonopy的另一款基于第一性原理计算获得材料声学性质并可后处理的功能强大的软件,在以往推送内容中也有介绍基于phono3py 计算晶格热导率VASPphono3py:快速计算晶格热导率 和声子寿命理论到实践:VASPPhono3py计算Phonon Lifetime 以及…

在Gradio实现分栏、分页的效果(二)

继续【Gradio的重要函数以及一些代码示例学习(一)】 1 fastapigradio的联合使用:mount_gradio_app 1.1 mount_gradio_app一个页面两个模块 分页的效果实现,主要依靠mount_gradio_app,启发于:Support mult…

edge浏览器无法进入中国知网,但可以进入其他网站需要怎么解决

最近使用edge浏览器进入中国知网,加载了很长时间都打不开,好不容易打开了,结果出现:“嗯...无法访问此页面”。即使无法进入知网,但可以进入哔哩哔哩或其他网站,甚是苦恼,下面是一个方法&#x…

谷歌护眼插件Dark Reader下载安装使用

网盘下载地址 链接:https://pan.baidu.com/s/1S086F-9aogPT1NJ2NoUqdw 提取码:ii29使用 前提:只对于谷歌用户: 1、下载后解压获得:Dark Reader v4.9.65.0.crx 2、然后把后缀改成.zip 3、再次解压出文件 4、然后把里…

在Spring Boot中使用MyBatis访问数据库

MyBatis,这个对各位使用Java开发的开发者来说还是蛮重要的,我相信诸位在企业开发项目的时候,大多数采用的是Mybatis。使用MyBatis帮助我们解决各种问题,实际上这篇文章,基本上默认为可以跳过的一篇,但是为了…

修改Launcher3 图标为圆角

packages\apps\Launcher3\res\xml\folder_shapes.xml packages\apps\Launcher3\src\com\android\launcher3\graphics\IconShape.java 上述文件的解析在 IconShape中 private static List<IconShape> getAllShapes(Context context) {ArrayList<IconShape> resul…

13.求面积[有问题]

#include<stdio.h> #include<math.h> #include<bits/stdc.h> using namespace std;void fun(double a,b,c) {double p,c;p (abc)/2;c sqrt(p*(p-a)*(p-b)*(p-c));printf("面积是&#xff1a;%lf",c); }int main(){double a,b,c;scanf("%lf,%…

OOM排查

OOM排查 一&#xff0c;原因 1.一次性申请对象太多&#xff0c;创建了大量对象&#xff0c;尤其从表中读取了大量数据&#xff0c;循环中大量创建对象&#xff0c;放入list中。方案&#xff1a;限量 2.内存资源耗尽为释放&#xff0c;如connction&#xff0c;线程。方案&#…

margin-bottom、margin-top设置不起效

问题&#xff1a; 如下&#xff0c;在uniapp项目中使用了tag标签&#xff0c;设置margin时&#xff0c;只有margin-left、margin-right生效&#xff0c;margin-bottom、margin-top设置不起效。f12直接在元素中修改也无效。 原因&#xff1a; uni-ui中的tag标签是行内元素&…

个人所得税思维导图参考 —— 筑梦之路

最近个人所得税优惠政策又有新变化&#xff1a; 1. 自2023年1月1日至2027年12月31日&#xff0c;对个体户年应纳税所得额不超过200万元的部分&#xff08;旧&#xff1a;不超过100万元的部分&#xff09;&#xff0c;减半征收个人所得税&#xff1b; 2. 适用个人所得税优惠政策…

自动化测试(Java+eclipse)教程

webdriver环境配置 1.下载chromedriver到本地&#xff08;一定要选择和自己浏览器相对应的版本chromedriver下载地址&#xff09; 2.加入到环境变量path中 webdriver工作原理 创建web自动化测试脚本 1.Maven项目创建 File->New->project->(搜索maven)选择maven pr…

Leetcode-面试题 02.02 返回倒数第 k 个节点

快慢指针&#xff1a;让快指针先移动n个节点&#xff0c;之后快慢指针一起依次向后移动一个结点&#xff0c;等到快指针移动到链表尾时&#xff0c;慢指针则移动到倒数第n个结点位置。 /*** Definition for singly-linked list.* public class ListNode {* int val;* …

【Linux】初识进程地址空间

❤️前言 大家好&#xff01;这里是好久没有营业的大懒虫lion&#xff0c;今天要和大家聊的内容是我最近新学习的关于进程地址空间的相关知识。 正文 当我们使用C/C语言进行内存管理时&#xff0c;经常会接触到这样的一张图片&#xff1a; 它常常被我们称作程序地址空间&#…

代码都成屎山了,还在用if-else?不如试试我的这套工厂模式+Map+自定义注解+枚举

前言 看到同事的代码&#xff0c;想到多年以前自己刚开始工作的时候写的代码&#xff0c;即使有再多的需求&#xff0c;再多的业务逻辑&#xff0c;都是满屏的if-else解决的&#xff0c;全然忘记什么叫做“面向对象编程”&#xff0c;但是写的多了都忘记了哪里是头&#xff0c;…

OAuth 2.0实现统一认证

OAuth 2.0协议概念&#xff1a; OAuth 是 Open Authorization 的简写。OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 OAuth 的授权不会使第三方触及到用户的帐号信息&#xff08;如用户名与密码&#xff09;&#xff0c;即第…