关于阿里云上K8S集群部署高可靠的Ingress Controller遇到的小坑

简介: 由于最近我司将一些上层应用逐渐迁移到K8S集群里面,关于一些前端资源的访问默认采用的是容器服务->应用->服务的负载均衡,这里的负载均衡集成了阿里云SLB,默认是四层的一个协议转发,当前只支持http无法支持https基于以上问题以及业界玩K8S的都采用Ingress形式,所以就阿里云默认创建的I.

由于最近我司将一些上层应用逐渐迁移到K8S集群里面,关于一些应用资源的访问默认采用的是容器的服务,这里服务的负载均衡集成了阿里云SLB,默认是四层的一个负载,当前只支持http无法支持https
基于以上问题以及业界玩K8S的都采用Ingress形式,所以就阿里云默认创建的Ingress进行了调研,主要是针对两个问题:
1,配置安全路由服务证书问题
2,部署高可靠的Ingress Controller问题
以上两个问题,阿里云官方都有支持文档,只是这两个文档都有一些小坑需要大家注意,接下来基于这两个问题的小坑进行展开描述:

问题一:阿里云官方文档如下链接:
https://help.aliyun.com/document_detail/53770.html?spm=a2c4g.11186623.6.634.QsDUbP
点击本文导读目录->配置安全的路由服务 这一章节;
通过这个阿里云官方文档创建的secret一般现在很多浏览器是不可信任的证书,而且每次ingress服务都需要重新创建;所以需要咱们官方的申请一个证书,比如说申请个二级域名*.alitest.com,然后下载对应的证书文件crt和pem,然后再创建一个secret,命令如下:
root@master # kubectl create secret tls alitest.com --key .key --cert .pem
这样申请有什么区别呢?
第一,是可信任的证书
第二,这个二级域名的证书可以通配你这个域名下的所有ingress服务的host

问题二:阿里云官方文档如下链接:
https://help.aliyun.com/document_detail/86750.html?spm=5176.11065259.1996646101.searchclickresult.7c785098kDslht
点击本文导读目录->步骤3 更新 Ingress SLB 服务
针对于容器应用服务里面的nginx-ingress-lb这个名称,后面点击更新后的它的内部端点都会发生变化,这个时候ingress默认集成的SLB监听的端口就需要手动的更改,否则就显示异常,有两种方式可以查看
1,通过K8S的dashborad
点击容器服务--应用--服务--查看nginx-ingress-lb的内部端点对应关系
2,登录K8S的系统通过命令查看
root@master #kubectl get svc -n kube-system
看到PORT(S)选项对应的80和443端口关系

所以当你根据阿里云官方文档完成所有步骤的时候一定要记得更新Ingress SLB的监听端口号。

以上两点均属本人实际操作过程中遇到的小坑,如有描述不清楚的信息,请随时致电18601146741进行沟通,完毕,谢谢。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
15小时前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
17小时前
|
运维 Kubernetes Linux
Kubernetes详解(七)——Service对象部署和应用
Kubernetes详解(七)——Service对象部署和应用
7 3
|
3天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes详解(六)——Pod对象部署和应用
在Kubernetes系列中,本文聚焦Pod对象的部署和管理。首先,通过`kubectl run`命令创建Pod,如`kubectl run pod-test --image=nginx:1.12 --port=80 --replicas=1`。接着,使用`kubectl get deployment`或`kubectl get pods`查看Pod信息,添加`-o wide`参数获取详细详情。然后,利用Pod的IP地址进行访问。最后,用`kubectl delete pods [Pod名]`删除Pod,但因Controller控制器,删除后Pod可能自动重建。了解更多细节,请参阅原文链接。
11 5
|
3天前
|
Kubernetes Linux Docker
Kubernetes详解(四)——基于kubeadm的Kubernetes部署
Kubernetes详解(四)——基于kubeadm的Kubernetes部署
14 2
|
4天前
|
Java 关系型数据库 MySQL
保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
|
8天前
|
弹性计算 运维 数据安全/隐私保护
【雾锁王国开服】阿里云一键部署雾锁王国联机服务器详细教程
阿里云提供雾锁王国服务器搭建教程,借助计算巢服务,用户可在3分钟内创建Enshrouded游戏服务器。8核32G服务器1个月109元,3个月327元;4核16G10M带宽1个月30元,3个月90元。需先注册并实名认证阿里云账号,然后通过傻瓜式一键部署入口进行购买和设置,包括地域、购买时长、服务器参数等。部署完成后,分享服务器信息给游戏伙伴,即可开始游戏。详细教程和更多配置信息可在阿里云ECS产品页查看。
26 0
|
14天前
|
Kubernetes 应用服务中间件 nginx
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
|
14天前
|
Kubernetes 网络安全 数据安全/隐私保护
K8S二进制部署详解,一文教会你部署高可用K8S集群(一)
K8S二进制部署详解,一文教会你部署高可用K8S集群(一)
|
14天前
|
SQL Kubernetes 调度
【一文看懂】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
56 1
|
14天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
220 0