本篇主要介绍 Knative Serving 的流量灰度,通过一个 rest-api 的例子演示如何创建不同的 Revision、如何在不同的 Revision 之间按照流量比例灰度。
部署 rest-api v1
- 代码
测试之前我们需要写一段 rest-api 的代码,并且还要能够区分不同的版本。下面我基于官方的例子进行了修改,为了使用方便去掉了github.com/gorilla/mux
依赖,直接使用 Golang 系统包net/http
替代。这段代码可以通过 RESOURCE 环境变量来区分不同的版本。
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
"os"
"flag"