使用ASM管理Knative服务(4):使用ASM网关实现HTTPS访问Knative服务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ASM网关支持HTTPS协议和动态加载证书功能。在使用Knative on ASM时,可以通过ASM网关来实现HTTPS访问。本文将演示如何使用ASM网关来实现HTTPS访问Knative服务。

ASM网关支持HTTPS协议和动态加载证书功能。在使用Knative on ASM时,可以通过ASM网关来实现HTTPS访问。本文将演示如何使用ASM网关来实现HTTPS访问Knative服务。

本系列文章包括以下部分:

使用ASM管理Knative服务(1):Knative on ASM概述

使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用

使用ASM管理Knative服务(3):在Knative on ASM中使用自定义域名

使用ASM管理Knative服务(4):使用ASM网关实现HTTPS访问Knative服务

使用ASM管理Knative服务(5):在Knative on ASM中基于流量灰度发布服务

使用ASM管理Knative服务(6):基于流量请求数实现服务自动扩缩容

前提条件

创建证书与私钥

使用域名时需要备案才能正常访问。本示例中使用aliyun.com生成证书和私钥,并保存为Secret。
如果您已经拥有针对aliyun.com可用的证书和私钥,需要将密钥命名为aliyun.com.key,证书命名为aliyun.com.crt。如果没有,可以通过openssl,执行以下步骤来生成证书和密钥。

1) 执行以下命令,创建根证书和私钥。

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt 
AI 代码解读

2) 执行以下命令,为aliyun.com服务器生成证书和私钥。

openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization"
openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt
AI 代码解读

3) 在入口网关Pod所在的集群对应的KubeConfig环境下,执行以下命令,在istio-system命名空间中创建包含证书和私钥的Secret。

kubectl create -n istio-system secret tls myexample-credential --key=aliyun.com.key --cert=aliyun.com.crt
AI 代码解读

开启HTTPS访问

1) 将以下内容中的domainName字段修改为您使用的域名(本示例中为aliyun.com),credentialName为上一步中创建的Secret名称(本示例中为myexample-credential)。完成后保存为default.yaml。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMKnativeConfig
metadata:
  name: default
spec:
  enabled: true
  useExisting: true
  tag: 1.4.0
  domainConfig:
    domainName: aliyun.com
    credentialName: myexample-credential
    
AI 代码解读

2) 使用kubectl连接到服务网格,在命令行执行以下命令:

kubectl apply -f default.yaml
AI 代码解读

使用HTTPS访问服务

1) 更新Hosts文件,在Hosts文件中添加新域名的绑定信息。绑定样例如下(请将xx.xx.xxx.xx替换为您的网关ip):

xx.xx.xxx.xx helloworld-go.default.aliyun.com
AI 代码解读

2) 在命令行执行以下命令,通过证书访问HTTPS服务。

curl -k --cert aliyun.com.crt --key aliyun.com.key https://helloworld-go.default.aliyun.com

# 预期输出
# Hello Knative!
AI 代码解读

3) 或者在浏览器中直接访问https://helloworld-go.default.aliyun.com (浏览器可能会提示该地址不安全,无须担心,这是由于我们使用了自签名证书)

image.png

目录
打赏
0
1
0
0
78750
分享
相关文章
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
71 14
基于虚拟服务配置的渐进式迁移实践:Istio集群至ASM集群的平滑切换
本文介绍了从Istio+k8s环境迁移到阿里云ASM+ACK环境的渐进式方法,通过配置虚拟服务和入口服务实现新老集群间的服务调用与流量转发,确保业务连续性与平滑迁移
698 132
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
👀探秘微服务:从零开启网关 SSO 服务搭建之旅
单点登录(Single Sign-On,简称SSO)是一种认证机制,它允许用户只需一次登录就可以访问多个应用程序或系统。本文结合网关和SaToken快速搭建可用的Session管理服务。
335 8
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
本文是Vert.x学习系列的第五部分,讨论了回调函数的限制、Future和Promise在异步操作中的应用、响应式扩展以及Kotlin协程,并通过示例代码展示了如何在Vert.x中使用这些异步编程模式。
214 5
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
微服务(八)-服务网关zuul(四)
微服务(八)-服务网关zuul(四)
服务网关Gateway
该博客文章详细介绍了Spring Cloud Gateway的使用方法和概念。文章首先阐述了API网关在微服务架构中的重要性,解释了客户端直接与微服务通信可能带来的问题。接着,文章通过具体的示例代码,展示了如何在Spring Cloud Gateway中添加依赖、编写路由规则,并对路由规则中的基本概念如Route、Predicate和Filter进行了详细解释。最后,文章还提供了路由规则的测试方法。
服务网关Gateway
微服务(七)-服务网关zuul(三)
微服务(七)-服务网关zuul(三)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等