您好,登錄后才能下訂單哦!
本篇內容介紹了“在Kubernetes集群中怎么搭建Istio微服務網格”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.設置主機名 hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2 2.關閉selinux及防火墻 setenforce 0 sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/sysconfig/selinux sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config systemctl stop firewalld systemctl disable firewalld
1.sealos官網獲取軟件包 [root@k8s-master1 ~]# ll 總用量 507472 -rw-r--r-- 1 root root 552591411 8月 5 2021 kube1.19.16.tar.gz -rw-r--r-- 1 root root 44322816 4月 29 13:47 sealos 2.將kube1.19.16.tar.gz文件上傳到所有k8s節點 3.安裝sealos [root@k8s-master1 ~/soft]# chmod +x sealos && mv sealos /usr/bin [root@k8s-master1 ~/soft]# sealos version Version: 3.3.9-rc.3 Last Commit: 4db4953 Build Date: 2021-04-10T11:25:04Z 4.部署K8S1.19.16版本 [root@k8s-master ~]# sealos init --passwd 'teacher' --master 192.168.20.10 --node 192.168.20.11 --node 192.168.20.12 --pkg-url /root/kube1.19.16.tar.gz --version v1.19.16
[root@k8s-master ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 TARGET_ARCH=x86_64 sh -
下載完成后會自動解壓成目錄。
1.準備istio命令 [root@k8s-master ~]# cp istio-1.8.2/bin/istioctl /usr/bin/ 2.查看可用的配置列表 [root@k8s-master ~]# istioctl profile list Istio configuration profiles: default #默認配置檔,功能豐富,建議生產使用 demo #快速入門使用,適中配置,不適合性能測試 empty minimal #功能最少的組件集配置 openshift preview remote #用于配置共享控制平面的多集群服務網格 3.指定安裝的配置檔 $ istioctl install --set profile=demo -y
常用配置檔對安裝組件的區別
組件名稱 | default | demo | minmal | remote |
---|---|---|---|---|
istio-citadel | √ | √ | √ | |
istio-ingressgateway | √ | √ | ||
istio-galley | √ | √ | ||
istio-egressgateway | √ | |||
istio-nodeagent | ||||
istio-pilot | √ | √ | √ | |
istio-policy | √ | √ | ||
istio-sidecar-injector | √ | √ | √ | |
istio-telemetry | √ | √ | ||
grafana | √ | |||
istio-tracing | √ | |||
kiali | √ | |||
prometheus | √ | √ |
我們采用default配置檔部署istio網格,istioctl install
命令不指定任何配置檔默認就是呀default配置檔。
1.安裝istio [root@k8s-master ~]# istioctl install -y Detected that your cluster does not support third party JWT authentication. Falling back to less secure first party JWT. See https://istio.io/v1.8/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for details. ? Istio core installed ? Istiod installed ? Ingress gateways installed ? Installation complete 2.查看istio在K8S集群創建的資源 [root@k8s-master ~]# kubectl get all -n istio-system NAME READY STATUS RESTARTS AGE pod/istio-ingressgateway-559f565fcd-jxn5b 1/1 Running 0 7m46s pod/istiod-545bb98448-vqf84 1/1 Running 0 12m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/istio-ingressgateway LoadBalancer 10.107.107.206 <pending> 15021:32381/TCP,80:31105/TCP,443:30793/TCP,15012:32259/TCP,15443:31377/TCP 7m45s service/istiod ClusterIP 10.109.130.252 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 12m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/istio-ingressgateway 1/1 1 1 7m46s deployment.apps/istiod 1/1 1 1 12m NAME DESIRED CURRENT READY AGE replicaset.apps/istio-ingressgateway-559f565fcd 1 1 1 7m46s replicaset.apps/istiod-545bb98448 1 1 1 12m NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE horizontalpodautoscaler.autoscaling/istio-ingressgateway Deployment/istio-ingressgateway <unknown>/80% 1 5 1 7m45s horizontalpodautoscaler.autoscaling/istiod Deployment/istiod <unknown>/80% 1 5 1 12m #程序部署了2個,分別是istiod以及istio-ingressgateway #istio-ingressgateway的service資源通過loadblancer暴露了一組端口,我們可以通過這些端口訪問到istio中的應用程序,loadblancer需要依靠公有云的負載均衡器,我們沒有因此處于pending狀態,但是該service資源也是可用的,loadblancer不存在公有云負載均衡器默認就會使用nodeport類型進行端口映射
可以展示出Istio的配置內容。
[root@k8s-master ~]# istioctl profile dump default
#顯示istio在k8s集群中部署使用的yaml編排文件內容 [root@k8s-master istio-1.8.2]# istioctl manifest generate #將編排文件內容導入到文件中 [root@k8s-master istio-1.8.2]# istioctl manifest generate > istio-generate.yaml #后期不使用istio時,可以通過這個文件直接卸載istio $ kubectl delete -f istio-generate.yaml
“在Kubernetes集群中怎么搭建Istio微服務網格”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。