在容器服务kubernetes上配置https

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 当前容器服务kubernetes支持多种应用访问的形式,最常见的如SLB:Port,NodeIP:NodePort,域名访问等;但是如果用户希望能够通过https进行应用的访问,容器服务kubernetes默认是不支持的,本文旨在通过实际案例演示https的访问配置,帮助用户在容器服务kubernetes中配置自己的证书。

当前容器服务kubernetes支持多种应用访问的形式,最常见的如SLB:Port,NodeIP:NodePort,域名访问等;但是如果用户希望能够通过https进行应用的访问,容器服务kubernetes默认是不支持的,本文旨在通过实际案例演示https的访问配置,帮助用户在容器服务kubernetes中配置自己的证书。

根据访问的方式不同,当前可以分为两种配置证书的方式,分别为在前端SLB上配置证书和在ingress中配置证书。下面我们对两种方式进行详细介绍。

方式一 在前端SLB上配置证书

前提

应用采用LoadBalancer类型的service进行访问暴露。

优点

       证书配置在SLB上,为应用外部访问的入口,在集群内部进行应用的访问依然用的是http访问方式。

缺点

       需要维护较多的域名与IP地址的对应关系。

适用场景

       应用不使用Ingress暴露访问方式,通过LoadBalancer类型的service进行应用访问的暴露。

示例

我们以tomcat为例进行演示。

第一步,创建一个tomcat应用及服务,在这里我们使用控制台进行应用的创建。如下图所示创建的tomcat应用名称为tomcat-https-test,服务名称为tomcat-https-test-svc。其中,service为LoadBalancer类型,暴露的服务端口为8080。

755448efa983f58e94bd75e75b7b11aca47cf75f

       第二步,访问tomcat应用,采用SLB地址进行访问。如下图所示,可以通过IP:Port的方式进行访问。

745f349833166b01061d643bb205b41769d4ae4a

 

第三步,查看service对应的SLB信息。如下图所示可以看到,当前SLB开通的是TCP:8080。如果采用https的访问方式,我们需要将协议和端口改为https:443。

 f3f14f96892ad2865e24d93fade276ad7dc3bd26

 

第四步,在SLB界面添加https的监听。

1、         配置为选择https协议,端口为443;

2、         填入ssl证书,证书生成可以参考生成CA证书

3、         后端服务器端口服务界面找到该服务对应的NodePort;

712c512580f007d7269d7385d2c50ed84bc3f5e5

4、         点击完成创建,创建完成后如下所示。

c75dfd7b2d5a0280d36f91c5ccb2f58dc9f7c5e3

       第五步,访问https的tomcat应用,https://slb_ip。如果在证书中加入了域名验证,可以使用域名进行访问。同时我们没有删除tcp:8080,所以通过slb_ip:8080也可以访问。

bfadf4398e4a249d8c55a82f92a51cc1c0dbfbaf

方式二 在ingress上配置证书

前提

通过ingress暴露应用的访问方式,并且证书在ingress上进行配置。

优点

1、         无需改动SLB的配置

2、         每一个应用都可以通过Ingress管理自己的证书,互不干扰

适用场景

       每个应用都需要单独的证书进行访问;或者集群中存在需要证书才能访问的应用。

示例

同样以tomcat为例进行应用的创建;创建tomcat应用及其服务参考方式一中的步骤。

在这里以tomcat应用及服务创建好为前提。

方法一 通过控制台进行Ingress及其证书配置

第一步,根据准备好的证书创建secret,命令如下:(在后台master节点)

       kubectl create secret tls foo.bar --key tls.key --cert tls.crt

       注意:在这里需要正确配置域名,否则后续通过https访问会有问题。

322f8e863cd388c4cc2735d9a9ebabb96351a371

 

       第二步,登录控制台,找到【应用】->【路由】,点击【创建】进行路由的创建;创建需要填入的参数如下图所示:

7051931ad7eaa5ac3e0eaab2ec96a9be1452258a

      

       第三步,在路由界面找到刚创建的路由test-https,点击详情查看具体信息。

       dc8548cd6a21098f35a027b6a415556d83096d8f

 

       第四步,在详情页面查看具体信息,找到域名;

       4d4fe7de1e5ca61118d7675cbf0dcdb954ba828d

 

       第五步,使用域名进行访问,由于我们创建了TLS证书访问,说以要用https来进行域名的访问,针对该应用,域名访问如下,其中test123.com为示例,需要自己解析。

1b0e6afde6ae9d4fc2430d4f6baee5ba047bdd15

方法二 通过yaml文件进行证书的配置

第一步,根据准备好的证书创建secret,命令如下:(在后台master节点)

       kubectl create secret tls foo.bar --key tls.key --cert tls.crt

       注意:在这里需要正确配置域名,否则后续通过https访问会有问题。

322f8e863cd388c4cc2735d9a9ebabb96351a371

 

       第二步,使用以下yaml文件进行ingress的创建,注意tls的引用;创建命令为kubectl create -f ingress-https.yaml;

               apiVersion: extensions/v1beta1

kind: Ingress

metadata:

   name: test-https

spec:

  tls:

  - hosts:

    - test-https.test123.com

    secretName: test-https

  rules:

  - host: test-https.test123.com

    http:

      paths:

      - path: /

        backend:

          serviceName: tomcat-https-test-svc

          servicePort: 8080

       第三步,在浏览器中访问test-https.test123.com。

       1b0e6afde6ae9d4fc2430d4f6baee5ba047bdd15

 

总结

       建议通过配置Ingress的方式进行证书的配置。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
人工智能 运维 监控
容器服务Kubernetes场景下可观测体系生产级最佳实践
阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。
|
2月前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
2月前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
74 6
|
2月前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
2月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
87 5
|
3月前
|
安全 网络协议 网络安全
怎么给ip地址配置https访问
为了配置公网IP地址的HTTPS访问,首先需明确需求并选择受信任的证书颁发机构(如JoySSL)。接着,在JoySSL官网注册并登录,填写特定注册码230922以获取免费IP证书的测试权限。提交证书申请时,填写IP地址及相关验证信息,并完成IP地址验证。验证通过后,下载证书文件。最后,使用浏览器访问IP地址,检查安全连接标志,确保无证书错误。通过以上步骤,可成功配置IP地址的HTTPS访问,提升数据传输安全性和可信度。
|
3月前
|
Kubernetes 监控 Java
如何在Kubernetes中配置镜像和容器的定期垃圾回收
如何在Kubernetes中配置镜像和容器的定期垃圾回收
|
3月前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
236 10
|
3月前
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
4月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名

热门文章

最新文章

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版