serverless-knative serving安装实战
Posted 程序员石磊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serverless-knative serving安装实战相关的知识,希望对你有一定的参考价值。
all in serverless,最近一段时间要把这个研究透彻,然后输出一系列文章,干货还在后面,欢迎关注
0、服务器环境
centos7.6
1、上网
访问gcr镜像
2、设置docker代理
(1)创建以下目录:/etc/systemd/system/docker.service.d
(2)在上述目录下创建http-proxy.conf文件,内容如下:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
(3)刷新配置,重启docker服务:
sudo systemctl daemon-reload
sudo service docker restart
systemctl show --property=Environment docker //如果配置成功,执行该命令将会看到配置的代理信息
3、系统设置代理
临时性设置,只修改环境变量
export http_proxy=http://127.0.0.1:7890/
export proxy="http://127.0.0.1:7890"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export no_proxy="localhost, 127.0.0.1, ::1"
4、安装knative serving
- 安装所需的自定义资源:
kubectl apply -f https://github.com/knative/serving/releases/download/v0.23.3/serving-crds.yaml
- 安装 Knative Serving 的核心组件:
kubectl apply -f https://github.com/knative/serving/releases/download/v0.23.3/serving-core.yaml
- 验证安装
监控 Knative 组件,直到所有组件都显示 STATUS 为 Running 或 Completed:
kubectl get pods --namespace knative-serving
5、安装网络层
在这里,我们选择Istio作为Knative的网络层组件。Istio平台的具体安装步骤如下。
- 安装正确配置的 Istio
kubectl apply -f https://github.com/knative/net-istio/releases/download/v0.23.2/istio.yaml
- 安装 Knative Istio 控制器:
kubectl apply -f https://github.com/knative/net-istio/releases/download/v0.23.2/net-istio.yaml
- 获取外部 IP 或 CNAME:
kubectl --namespace istio-system get service istio-ingressgateway
保存它用于配置后面的 DNS。
6、设置DNS
要为 Knative 配置 DNS,请从设置网络中获取外部 IP 或 CNAME,并使用您的 DNS 提供商对其进行配置,如下所示:
如果网络层生成了外部 IP 地址,则为域配置通配符 A 记录:
# 这里 knative.example.com 是你集群的域后缀
*.knative.example.com == A 35.233.41.212
如果网络层生成了 CNAME,则为域配置 CNAME 记录:
# 这里 knative.example.com 是你集群的域后缀
*.knative.example.com == CNAME a317a278525d111e89f272a164fd35fb-1510370581.eu-central-1.elb.amazonaws.com
配置 DNS 提供商后,指示 Knative 使用该域:
# Replace knative.example.com with your domain suffix
kubectl patch configmap/config-domain \\
--namespace knative-serving \\
--type merge \\
--patch '"data":"knative.example.com":""'
如果您使用 curl 访问示例应用程序或您自己的 Knative 应用程序,并且无法使用“Real DNS”方法,则有一种临时方法。 这对于那些希望在不更改其 DNS 配置的情况下评估 Knative(根据“Real DNS”方法)或由于使用例如本地 minikube 或 IPv6 集群而无法使用“Magic DNS”方法的人非常有用。
- 要使用 curl 使用此方法访问您的应用程序:
kubectl get ksvc
输出
NAME URL LATESTCREATED LATESTREADY READY REASON
helloworld-go http://helloworld-go.default.example.com helloworld-go-vqjlf helloworld-go-vqjlf True
- 使用 -H “Host:” 命令行选项指定 Knative 应用程序的主机名。 例如,
curl -H "Host: helloworld-go.default.example.com" http://192.168.39.228:32198
感谢关注,下期讲解如何把自己的函数部署到serverless knative平台.
以上是关于serverless-knative serving安装实战的主要内容,如果未能解决你的问题,请参考以下文章