接下来介绍如何在Kubernetes集群上安装Knative。安装Knative的Kubernetes需要具备以下前提:
·Kubernetes集群v1.10或更高版本。
·启用MutatingAdmissionWebhook许可控制器。
·安装Istio时所需的init-container的特权模式支持。
因为Knative依赖于Istio,所以需要先在Kubernetes上安装部署Istio。前面的章节中已经介绍了具体的安装过程,在此不再赘述。
安装好Istio之后,需要标记default命名空间以允许Sidecar自动注入,如下所示:
kubectl label namespace default istio-injection=enabled
监视Istio组件,直到所有组件的状态显示为Running或者Completed,如下所示:
kubectl get pods --namespace istio-system
所有组件都需要几分钟才能启动和运行,你可以重新运行该命令以查看当前状态。当然,在上述命令中也可以添加--watch来实时查看组件的状态更新,而不是重新运行该命令。使用CTRL+C可退出监视模式。
可以将Knative Serving和Build组件一起安装,也可以单独构建。如果仅安装Knative Build,执行如下命令:
kubectl apply -f https://github.com/knative/build/releases/download/v0.3.0/release.yaml
监视Knative Build组件,直到所有以下组件状态均显示为Running:
kubectl get pods --namespace knative-build
与Istio组件一样,Knative组件需要几秒钟才能启动并运行,你可以重新运行该kubectl get命令以查看当前状态,或者添加--watch来实时查看组件的状态更新。
如果你决定将Knative Serving和Build组件一起安装,那么需要运行kubectl apply命令以安装Knative及其依赖项,如下所示:
kubectl apply -f https://github.com/knative/serving/releases/download/v0.2.3/release.yaml
监视Knative Build组件,直到所有以下组件状态均显示为Running:
kubectl get pods --namespace knative-serving kubectl get pods --namespace knative-build