深圳网站设计公司招聘,wordpress 站点更改,中国建设银行官网网站首页,网页制作软件中文免费版强调#xff1a; 本文只是作为记录,过一段时间会删除
跟唐老师学习网络
一 Nginx Ingress管理
① 流量走向
需求#xff1a; 应用绑定LoadBalance,会自动创建或使用SLBeip:port -- nodeport_ip:port -- service_ip:port -- pod_ip:port
支持的注解
通过…强调 本文只是作为记录,过一段时间会删除
跟唐老师学习网络
一 Nginx Ingress管理
① 流量走向
需求 应用绑定LoadBalance,会自动创建或使用SLBeip:port -- nodeport_ip:port -- service_ip:port -- pod_ip:port
支持的注解
通过阿里云负载均衡SLB暴露的服务 Service 通过使用自动创建SLB的服务公开应用
② 阿里云厂商的特殊注解
原Ingress Class为nginx-intranetannotations:kubernetes.io/ingress.class: nginx-intranet ACK 自身的ingress -- ack-ingress-nginx或ack-ingress-nginx-v1
通过Annotation配置传统型负载均衡CLB
Annotation需求 使用已有的负载均衡备注 负载均衡实例的ID,通过此Annotation指定已有的CLBservice.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-type1、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 Controller2、ACK基于社区版的Nginx Ingress Controller进行了优化3、ACK的Nginx Ingress Controller与社区Nginx Ingress Controller完全兼容4、支持社区所有的Annotation5、您在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、docker02、集群的每个节点会起一个flannel agent,并且会给每个节点预分配一个Pod CIDR备注 这个Pod CIDR是ACK集群的Pod CIDR的子集
②
1、容器的网络命名空间内会有一个eth0的虚拟网卡,同时存在下一跳指向该网卡的路由2、该网卡会作为容器和宿主内核进行数据交换的出入口3、容器和宿主机之间的数据链路是通过veth pair进行交换的思考 现在我们已经找到veth pair其中一个,如何去找另一个veth呢?容器内 ip route show查看docker 容器 在宿主机器的piddocker inspect -f {{.State.Pid}} nginx宿主机 nsenter -n -t pid 进入 容器的命名空间 -- 查看 eth0ifxxx 标识在容器所在的宿主机 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路由表IDrouteTableIDs: ${ROUTE_TABLES_IDS}kubectl edit cm -n kube-system kube-flannel-cfgkubectl -n kube-system get pod -o wide -l appflannel
三 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.sh8848用来支持基于Nacos应用的配置管理及服务注册关键 jmenv绑定hosts之后可以直接访问轻量级配置及注册中心域名端口 jmenv.tbsite.net:8080独立机器: 在浏览器中输入轻量级配置及注册中心地址http://机器IP地址:8080并回车