在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過程詳解
1.使用sealos部署快速部署K8S集群
1.1.基本環(huán)境配置
1.設(shè)置主機(jī)名 hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2 2.關(guān)閉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.2.部署K8S集群
1.sealos官網(wǎng)獲取軟件包 [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節(jié)點(diǎn) 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
2.在K8S集群中部署Istio網(wǎng)格服務(wù)
2.1.下載Istio安裝包
[root@k8s-master ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 TARGET_ARCH=x86_64 sh -
下載完成后會自動解壓成目錄。
2.2.查看Istio可用的配置列表
1.準(zhǔn)備istio命令 [root@k8s-master ~]# cp istio-1.8.2/bin/istioctl /usr/bin/ 2.查看可用的配置列表 [root@k8s-master ~]# istioctl profile list Istio configuration profiles: default #默認(rèn)配置檔,功能豐富,建議生產(chǎn)使用 demo #快速入門使用,適中配置,不適合性能測試 empty minimal #功能最少的組件集配置 openshift preview remote #用于配置共享控制平面的多集群服務(wù)網(wǎng)格 3.指定安裝的配置檔 $ istioctl install --set profile=demo -y
常用配置檔對安裝組件的區(qū)別
組件名稱 | 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網(wǎng)格,istioctl install
命令不指定任何配置檔默認(rèn)就是呀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集群創(chuàng)建的資源 [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中的應(yīng)用程序,loadblancer需要依靠公有云的負(fù)載均衡器,我們沒有因此處于pending狀態(tài),但是該service資源也是可用的,loadblancer不存在公有云負(fù)載均衡器默認(rèn)就會使用nodeport類型進(jìn)行端口映射
2.3.展示Istio配置檔的配置信息
可以展示出Istio的配置內(nèi)容。
[root@k8s-master ~]# istioctl profile dump default
2.4.查看Istio在k8s集群部署使用的YAML文件內(nèi)容
#顯示istio在k8s集群中部署使用的yaml編排文件內(nèi)容 [root@k8s-master istio-1.8.2]# istioctl manifest generate #將編排文件內(nèi)容導(dǎo)入到文件中 [root@k8s-master istio-1.8.2]# istioctl manifest generate > istio-generate.yaml #后期不使用istio時,可以通過這個文件直接卸載istio $ kubectl delete -f istio-generate.yaml
到此這篇關(guān)于在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的文章就介紹到這了,更多相關(guān)Kubernetes集群Istio微服務(wù)網(wǎng)格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Google?Kubernetes?Engine?集群實(shí)戰(zhàn)詳解
這篇文章主要為大家介紹了Google?Kubernetes?Engine?集群實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Kubernetes教程之Windows?HostProcess?運(yùn)行容器化負(fù)載
這篇文章主要介紹了Kubernetes?Windows?HostProcess?運(yùn)行容器化負(fù)載,本篇內(nèi)容還是比較多的,總共包含了?Windows?HostProcess的創(chuàng)建、為?Windows?Pod?和容器配置?GMSA?和?Windows?的?Pod?和容器配置?RunAsUserName三大功能模塊,需要的朋友可以參考下2022-07-07Rainbond功能架構(gòu)及應(yīng)用管理官方文檔介紹
這篇文章主要為大家介紹了Rainbond功能機(jī)構(gòu)及使用官方文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04