knative 安裝


knative 安裝

本文安裝版本 knative 0.6。

准備

安裝 knative 前需要事先安裝 Kubernetes 集群Istio

安裝

下載安裝所需要的文件。以下選擇的是全安裝,如果不想要 knative 的全部功能,可自行選擇不需要的 yaml。由於所有的鏡像都是來自牆外,需要科 學上網。

cd /opt;mkdir knative;cd knative

wget https://github.com/knative/serving/releases/download/v0.6.0/serving.yaml
wget https://github.com/knative/build/releases/download/v0.6.0/build.yaml
wget https://github.com/knative/eventing/releases/download/v0.6.0/release.yaml
wget https://github.com/knative/eventing-sources/releases/download/v0.6.0/eventing-sources.yaml
wget https://github.com/knative/serving/releases/download/v0.6.0/monitoring.yaml
wget https://raw.githubusercontent.com/knative/serving/v0.6.0/third_party/config/build/clusterrole.yaml

安裝 CRD。

kubectl apply --selector knative.dev/crd-install=true -f .

安裝服務。

kubectl apply -f serving.yaml --selector networking.knative.dev/certificate-provider!=cert-manager \
    -f build.yaml -f release.yaml -f eventing-sources.yaml \
    -f monitoring.yaml -f clusterrole.yaml

查看 knative 的組件是否已全部就緒(處於 running 或 Completed 狀態)。

kubectl get pods -n knative-serving 
kubectl get pods -n knative-build
kubectl get pods -n knative-eventing
kubectl get pods -n knative-sources
kubectl get pods -n knative-monitoring

也可以用 watch 方式實時查看是否已就緒。

kubectl get pods --all-namespaces --watch | grep -E "knative-serving|knative-build|knative-eventing|knative-sources|knative-monitoring"

在安裝過程中可能會碰到很多 pod 處於 pending 狀態,一般都是由於資源不夠導致。

自制鏡像安裝

由於很多鏡像來自牆外,在國內不能愉快的玩耍。這就需要自制鏡像。具體過程可看自制鏡像

下面是 knative 0.6 里需要用到的鏡像,我這里已經自制完成,可直接下載

[root@test-1 download]# cat down.sh 
#!/bin/bash
down_docker=(
    mathlsj/knative-serving-cmd-webhook:0.6
    mathlsj/knative-serving-cmd-networking-istio:0.6
    mathlsj/knative-serving-cmd-networking-certmanager:0.6
    mathlsj/knative-serving-cmd-controller:0.6
    mathlsj/knative-serving-cmd-queue:0.6
    mathlsj/knative-serving-cmd-autoscaler:0.6
    mathlsj/knative-serving-cmd-activator:0.6
    mathlsj/knative-eventing-cmd-apiserver_receive_adapter:0.6
    mathlsj/knative-eventing-cmd-broker-filter:0.6
    mathlsj/knative-eventing-cmd-broker-ingress:0.6
    mathlsj/knative-eventing-cmd-controller:0.6
    mathlsj/knative-eventing-cmd-cronjob_receive_adapter:0.6
    mathlsj/knative-eventing-cmd-in_memory-controller:0.6
    mathlsj/knative-eventing-cmd-in_memory-dispatcher:0.6
    mathlsj/knative-eventing-cmd-sources_controller:0.6
    mathlsj/knative-eventing-cmd-webhook:0.6
    mathlsj/knative-eventing-sources-cmd-github_receive_adapter:0.6
    mathlsj/knative-eventing-sources-cmd-manager:0.6
    mathlsj/knative-build-cmd-controller:0.6
    mathlsj/knative-build-cmd-creds-init:0.6
    mathlsj/knative-build-cmd-git-init:0.6
    mathlsj/knative-build-cmd-nop:0.6
    mathlsj/knative-build-cmd-webhook:0.6
)

down_other=(
    mathlsj/knative-addon-resizer:1.7
    mathlsj/knative-elasticsearch:v5.6.4
    mathlsj/knative-fluentd-elasticsearch:v2.0.4
    mathlsj/knative-cloud-builders-gcs-fetcher:0.6
)

for var in ${down_docker[@]};do
docker pull $var
done

for var_other in ${down_other[@]};do
docker pull $var_other
done

自制鏡像完成后,knative 的鏡像是用 sha256 方式來 pull的。在本地我們不能通過 docker tag 的方式重新打包,只能修改 yaml 里的所有配置。配置修改后 yaml 文件已放在 github 上,有需要的大家自己下載。github地址

配置文件修改完后,后繼的操作和原安裝步驟一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM