当前容器服务Kubernetes集群支持多种应用访问的形式,最常见形式如SLB:Port
、NodeIP:NodePort
和域名访问等。Kubernetes集群默认不支持HTTPS访问,如果用户希望能够通过HTTPS进行应用的访问,容器服务和阿里云负载均衡服务为您提供安全的HTTPS访问。本文旨在通过实际案例演示的HTTPS访问配置,帮助用户在容器服务Kubernetes中配置自己的证书。
前提条件
- 创建Serverless Kubernetes集群
- 通过SSH访问Kubernetes集群
- 连接到Master节点后,创建集群的服务器证书,包括公钥证书和私钥。您可通过以下命令快速创建。
openssl genrsa -out tls.key 2048
输出:
Generating RSA private key, 2048 bit long modulus ................................................................+++ ........................................................................................+++ e is 65537 (0x10001)
openssl req -sha256 -new -x509 -days 365 -key tls.key -out tls.crt
输出:
You are about to be asked to enter information that will be incorporated ... ----- Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:zhejiang Locality Name (eg, city) [Default City]:hangzhou Organization Name (eg, company) [Default Company Ltd]:alibaba Organizational Unit Name (eg, section) []:test Common Name (eg, your name or your server's hostname) []:foo.bar.com #注意,您需要正确配置域名。 Email Address []:a@alibaba.com
背景信息
根据访问的方式不同,当前可以分为两种配置证书的方式:
- 在前端SLB上配置证书。
- 在Ingress中配置证书。
在SLB上配置HTTPS证书
该方式有如下特点:
- 优点:证书配置在SLB上,为应用外部访问的入口,在集群内部进行应用的访问依然用的是http访问方式。
- 缺点:需要维护较多的域名与IP地址的对应关系。
- 适用场景:应用不使用Ingress暴露访问方式,通过LoadBalancer类型的Service进行应用访问的暴露。
准备工作:
您已在该Kubernetes集群中创建一个Tomcat应用,该应用采用LoadBalancer类型的服务(service)对外提供访问。详情请参见创建服务。
示例:
在Ingress上配置证书
该方法有以下特点:
- 优点:无需改动SLB的配置。每一个应用都可以通过Ingress管理自己的证书,互不干扰。
- 适用场景:每个应用都需要单独的证书进行访问,或者集群中存在需要证书才能访问的应用。
准备工作:
您已在该Kubernetes集群中创建一个Tomcat应用,该应用的服务(Service)采用ClusterIP的方式提供访问。本例中准备使用Ingress对外提供HTTPS访问服务。
示例:
在文档使用中是否遇到以下问题
更多建议
匿名提交