日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Knative v0.16.0安装全过程

發布時間:2023/12/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Knative v0.16.0安装全过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 基本環境搭建
    • Kubernetes安裝
      • 常規配置(三臺虛擬機均需進行配置)
        • 關閉防火墻
        • 關閉Selinux
        • 禁用swap
        • 配置域名解析
        • 配置橋接流量轉發
        • 配置時間同步
        • Docker安裝
        • 配置docker鏡像倉庫加速
        • 修改防火墻規則
        • 配置k8s源倉庫
      • Kubernetes Master配置
        • 部署kubelet、kubeadm、kubectl
        • 部署Kubernetes Master
        • 建立k8s管理用戶
        • 配置k8s用戶連接
        • 驗證配置
      • k8s node配置
        • 部署kubelet、kubeadmin
        • 加入k8s集群
      • 配置k8s集群網絡
      • 部署kubernetes控制臺
      • 配置登錄Token
  • Istio平臺部署
    • 安裝istioctl命令工具
    • 編寫IstioOperator自定義配置文件
    • 應用配置清單
    • 驗證已部署的Istio服務運行狀態
  • Knative Serving安裝
    • 安裝Knative Serving CRD
    • 安裝Knative Serving核心組件
    • 安裝Knative網絡層Istio控制器,實現Istio與Knative集成
    • 安裝HPA自動縮放擴展
    • 檢查Knative Serving相關服務運行狀態
  • Knative Eventing安裝
    • 安裝Knative Eventing CRD
    • 安裝Knative Eventing核心組件
    • 安裝默認Channel層
    • 安裝Broker層
    • 檢查Knative Eventing相關服務運行狀態
  • 安裝可觀察組件
    • 為可觀察行組件創建命名空間
    • 安裝Prometheus和Grafana
    • 安裝EFK日志收集處理中心
    • 安裝Jaeger實現分布式追蹤
  • Tekton安裝
    • Tekton Pipeline安裝
      • 安裝Tekton的核心組件Pipeline
      • 驗證Pipeline組件運行狀態
      • 為PipelineResources配置存儲
    • Tekton Dashborad安裝
      • 為Tekton 安裝 Dashborad UI
      • 驗證Dashboard組件運行狀態
      • 訪問TektonDashboard
    • Tekton Trigger安裝
      • 為Tekton安裝Trigger
      • 驗證Trigger組件運行狀態

前言

Knative是構建在容器、kubernetes以及Istio的基礎之上的Serverless解決方案。Knative有兩個組件,它們既可以各自獨立安裝部署,也可以一起安裝相互配合。

基本環境搭建

Knative 0.16版本需要kubernetes 1.15以上版本的支持。

軟件版本
Kubernetes1.23.15
Istio1.6.8
Knative Serving1.8.3
Knative Eventing0.16.0
Tekton Pipeline0.16.3
Tekton Trigger0.8.1
Tekton Dashboard0.10.0

Kubernetes安裝

主機名IP操作系統硬件配置
master192.168.1.91centos74CPU RAM:6GB
node1192.168.1.92centos74CPU RAM:6GB
node2192.168.1.93centos74CPU RAM:6GB

常規配置(三臺虛擬機均需進行配置)

關閉防火墻

# systemctl disable firewalld # systemctl stop firewalld

關閉Selinux

# vim /etc/sysconfig/selinux

將SELINUX=enforcing改為SELINUX=disabled

禁用swap

# swapoff -a # vim /etc/fstab

如圖所示將其中關于交換分區的項目注釋掉,防止操作系統重新啟動后自動掛載交換分區。

配置域名解析

# cat >> /etc/hosts <<EOF 192.168.1.91 master 192.168.1.92 node1 192.168.1.93 node2 EOF

配置橋接流量轉發

# cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF # sysctl --system

配置時間同步

# yum install ntpdate -y # ntpdate time.windows.com

Docker安裝

# curl https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo # yum install -y docker-ce # systemctl enable docker && systemctl start docker

配置docker鏡像倉庫加速

# sudo mkdir -p /etc/docker # sudo tee /etc/docker/daemon.json <<-'EOF' {"registry-mirrors": ["https://qdzgikwk.mirror.aliyuncs.com"] } EOF # vim /etc/docker/daemon.json {"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"] } ## systemctl daemon-reload # systemctl restart docker

這一部分需要在阿里云官網注冊賬號,進入控制臺,搜索容器鏡像服務,接著點擊鏡像工具欄中的鏡像加速器,獲取個人的加速器配置文件,進行配置。

修改防火墻規則

Docker從1.13版本開始調整了默認的防火墻規則,禁用了iptables的filter表中FOWARD鏈,這樣會引起Kubernetes集群中跨節點的Pod無法通信。

# iptables -P FORWARD ACCEPT # iptables-save

配置k8s源倉庫

# cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes /yum/doc/rpm-package-key.gpg EOF

Kubernetes Master配置

部署kubelet、kubeadm、kubectl

# yum install -y kubelet-1.23.15 kubeadm-1.23.15 kubectl-1.23.15 # systemctl enable kubelet

部署Kubernetes Master

# kubeadm init \ --apiserver-advertise-address=192.168.1.91 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.23.15 \ --service-cidr=11.62.0.0/16 \ --pod-network-cidr=11.55.0.0/16

-–apiserver-advertise-address:集群通告地址
-–image-repository:由于默認拉取鏡像地址k8s.gcr.io國內無法訪問,這里指定阿里云鏡像倉庫地址
-–kubernetes-version: K8s版本,與上面安裝的一致
-–service-cidr :集群內部虛擬網絡,Pod統一訪問入口
-–pod-network-cidr Pod:網絡,需要與接下來部署的CNI網絡組件yaml中保持一致

安裝完成后,運行docker images 命令,可見到如下輸出

如果安裝成功,可見到如下輸出
關注最后的kudeadm join命令,等會將用到

建立k8s管理用戶

# useradd kadmin

配置k8s用戶連接

# mkdir -p /home/kadmin/.kube # cp /etc/kubernetes/admin.conf /home/kadmin/.kube/config # chown kadmin:kadmin -R /home/kadmin/.kube

驗證配置

# su - kadmin $ kubectl get ns


如果要登出,輸入exit即可

k8s node配置

部署kubelet、kubeadmin

# yum install -y kubelet-1.23.15 kubeadm-1.23.15 # systemctl enable kubelet

加入k8s集群

# kubeadm join 192.168.1.91:6443 --token ibgw9p.a3n4on6c05t2prbs \ --discovery-token-ca-cert-hash sha256:903d9e59b49e7db455a8b353ed5ae3d8368502792e8edc7d ad62f00d509a2911

加入完成之后,可見到如下輸出

配置k8s集群網絡

# curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -o /tmp/calico.yaml

取消注釋 CALICO_IPV4POOL_CIDR,并將其值設置為kubernetes的pod-network-cidr的值

# kubectl apply -f /tmp/calico.yaml

如果出現如下問題
原因:kubernetes master沒有與本機綁定,集群初始化的時候沒有綁定,此時設置在本機的環境變量即可解決問題。

# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile # source /etc/profile

kubectl apply命令執行成功,可見到如下輸出

部署kubernetes控制臺

# curl -ls https://gitee.com/xiaojinran/k8s/raw/master/k8s-dashboard/dashboard.yaml -o /tmp/k8s-dashboard.yaml # kubectl apply -f /tmp/k8s-dashboard.yaml

配置登錄Token

# kubectl create serviceaccount dashboard-admin -n kube-system # kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin # kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

Istio平臺部署

當前Knative支持的網絡層組件有Ambassdor、Contour、Gloo、Istio、Kong、Kourier

安裝istioctl命令工具

# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.6.8 sh - # cd istio-1.6.8${ISTIO_VERSION} # export PATH=$PWD/bin:$PATH

編寫IstioOperator自定義配置文件

# cat << EOF > ./istio-minimal-operator.yaml

應用配置清單

# istioctl manifest apply -f istio-minimal-operator.yaml

驗證已部署的Istio服務運行狀態

# watch kubectl -n istio-system get pods

Knative Serving安裝

安裝Knative Serving CRD

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/serving-crds.yaml

安裝Knative Serving核心組件

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/serving-core.yaml

安裝Knative網絡層Istio控制器,實現Istio與Knative集成

# kubectl apply -f \ https://github.com/knative/net-istio/releases/download/v0.16.0/release.yaml

安裝HPA自動縮放擴展

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/serving-hpa.yaml

檢查Knative Serving相關服務運行狀態

# watch kubectl get pods -n knative-serving

Knative Eventing安裝

安裝Knative Eventing CRD

# kubectl apply -f \ https://github.com/knative/eventing/releases/download/v0.16.0/eventing-crds.yaml

安裝Knative Eventing核心組件

# kubectl apply -f \ https://github.com/knative/eventing/releases/download/v0.16.0/eventing-core.yaml

安裝默認Channel層

# kubectl apply -f \ https://github.com/knative/eventing/releases/download/v0.16.0/in-memory-channel.yaml

安裝Broker層

# kubectl apply -f \ https://github.com/knative/eventing/releases/download/v0.16.0/mt-channel-broker.yaml

檢查Knative Eventing相關服務運行狀態

# watch kubectl get pods -n knative-eventing

安裝可觀察組件

為可觀察行組件創建命名空間

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/monitoring-core.yaml

安裝Prometheus和Grafana

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/monitoring-metrics-prometheus.yaml

安裝EFK日志收集處理中心

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/monitoring-logs-elasticsearch.yaml

安裝Jaeger實現分布式追蹤

# kubectl apply -f \ https://github.com/knative/serving/releases/download/v0.16.0/monitoring-tracing-jaeger-in-mem.yaml

Tekton安裝

Tekton Pipeline安裝

安裝Tekton的核心組件Pipeline

# kubectl apply -f \ https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.16.3/release.yaml

驗證Pipeline組件運行狀態

# kubectl get pods -n tekton-pipelines

為PipelineResources配置存儲

# cat <<EOF | kubectl apply -f -

Tekton Dashborad安裝

為Tekton 安裝 Dashborad UI

# kubectl apply -f \ https://storage.googleapis.com/tekton-releases/dashboard/previous/v0.10.0/tekton-dashboard-release.yaml

驗證Dashboard組件運行狀態

# kubectl get pods -n tekton-pipelines

訪問TektonDashboard

# kubectl --namespace tekton-pipelines \ port-forward svc/tekton-dashboard 9097:9097 --address=<Kubernetes 節點 IP>

Tekton Trigger安裝

為Tekton安裝Trigger

# kubectl apply -f \ https://github.com/tektoncd/triggers/release/download/v0.8.1/release.yaml

驗證Trigger組件運行狀態

# kubectl get pods -n tekton-pipelines

最近要開始做項目了,以后可能更多的是別的平臺了,比如Fn Project或者OpenWhisk,Knative如果有什么學習感悟,還是會更新的。

總結

以上是生活随笔為你收集整理的Knative v0.16.0安装全过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。