其他分享
首页 > 其他分享> > istioctl 部署 istio

istioctl 部署 istio

作者:互联网

istio架构:

1、下载 istio 安装包

[root@master1 ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 TARGET_ARCH=x86_64 sh -

2、移动 istioctl 到 /usr/bin 目录下

[root@master1 ~]# cp istio-1.8.2/bin/istioctl /usr/bin

3、查看 istio 可用配置列表

[root@master1 ~]# istioctl profile list
Istio configuration profiles:
    default              
    demo
    empty
    minimal
    openshift
    preview
    remote

4、指定安装的配置环境

istioctl install --set profile=demo -y 

5、开启自动注入 Envoy sidecar 代理

kubectl label namespace default istio-injection=enabled

6、部署 bookinfo-gateway.yaml 网关

kubectl apply -f /root/istio-1.8.2/samples/bookinfo/networking/bookinfo-gateway.yaml

7、部署 bookinfo.yaml

[root@master1 kube]# kubectl apply -f bookinfo.yaml
service/details created
serviceaccount/bookinfo-details created
deployment.apps/details-v1 created
service/ratings created
serviceaccount/bookinfo-ratings created
deployment.apps/ratings-v1 created
service/reviews created
serviceaccount/bookinfo-reviews created
deployment.apps/reviews-v1 created
deployment.apps/reviews-v2 created
deployment.apps/reviews-v3 created
service/productpage created
serviceaccount/bookinfo-productpage created
deployment.apps/productpage-v1 created

8、部署 addons

kubectl apply -f /root/istio-1.8.2/samples/addons

9、暴露 istio 的网关为 Nodeport 模式

kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'

5、查看 istio 创建的资源

[root@master1 ~]# kubectl get all -n istio-system
NAME                                        READY   STATUS    RESTARTS   AGE
pod/grafana-79c4cf9d9c-sdkqv                1/1     Running   0          92m
pod/istio-egressgateway-7b698b78b9-9qd9t    1/1     Running   0          95m
pod/istio-ingressgateway-7f584d6776-w84mq   1/1     Running   0          95m
pod/istiod-5d8b576f84-79wsz                 1/1     Running   0          95m
pod/jaeger-5d96f77b8c-whhkl                 1/1     Running   0          92m
pod/kiali-6785897659-zdd2h                  1/1     Running   0          92m
pod/prometheus-5756c695c5-kc5vg             2/2     Running   0          92m

NAME                           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                      AGE
service/grafana                ClusterIP   10.101.124.54    <none>        3000/TCP                                                                     92m
service/istio-egressgateway    ClusterIP   10.109.127.148   <none>        80/TCP,443/TCP,15443/TCP                                                     95m
service/istio-ingressgateway   NodePort    10.103.222.103   <none>        15021:30731/TCP,80:30824/TCP,443:31765/TCP,31400:31397/TCP,15443:30544/TCP   3h1m
service/istiod                 ClusterIP   10.103.87.68     <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3h4m
service/jaeger-collector       ClusterIP   10.102.247.21    <none>        14268/TCP,14250/TCP                                                          92m
service/kiali                  NodePort    10.100.80.185    <none>        20001:31805/TCP,9090:32104/TCP                                               92m
service/prometheus             ClusterIP   10.104.140.148   <none>        9090/TCP                                                                     92m
service/tracing                ClusterIP   10.96.36.198     <none>        80/TCP                                                                       92m
service/zipkin                 ClusterIP   10.100.109.17    <none>        9411/TCP                                                                     92m

NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/grafana                1/1     1            1           92m
deployment.apps/istio-egressgateway    1/1     1            1           95m
deployment.apps/istio-ingressgateway   1/1     1            1           3h1m
deployment.apps/istiod                 1/1     1            1           3h4m
deployment.apps/jaeger                 1/1     1            1           92m
deployment.apps/kiali                  1/1     1            1           92m
deployment.apps/prometheus             1/1     1            1           92m

NAME                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/grafana-79c4cf9d9c                1         1         1       92m
replicaset.apps/istio-egressgateway-7b698b78b9    1         1         1       95m
replicaset.apps/istio-ingressgateway-59b6f986c    0         0         0       178m
replicaset.apps/istio-ingressgateway-7f584d6776   1         1         1       3h1m
replicaset.apps/istiod-5d8b576f84                 1         1         1       3h4m
replicaset.apps/istiod-848478dd87                 0         0         0       178m
replicaset.apps/jaeger-5d96f77b8c                 1         1         1       92m
replicaset.apps/kiali-6785897659                  1         1         1       92m
replicaset.apps/prometheus-5756c695c5             1         1         1       92m

11、查看 istio 网关暴露端口

[root@master1 networking]# kubectl describe svc -n istio-system kiali
Name:                     kiali
Namespace:                istio-system
Labels:                   app=kiali
                          app.kubernetes.io/instance=kiali-server
                          app.kubernetes.io/managed-by=Helm
                          app.kubernetes.io/name=kiali
                          app.kubernetes.io/version=v1.26.0
                          helm.sh/chart=kiali-server-1.26.0
                          version=v1.26.0
Annotations:              kiali.io/api-spec: https://kiali.io/api
                          kiali.io/api-type: rest
                          kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"kiali.io/api-spec":"https://kiali.io/api","kiali.io/api-type":"rest"},"lab...
Selector:                 app.kubernetes.io/instance=kiali-server,app.kubernetes.io/name=kiali
Type:                     NodePort
IP:                       10.100.80.185
Port:                     http  20001/TCP
TargetPort:               20001/TCP
NodePort:                 http  31805/TCP        # 网关暴露端口
Endpoints:                100.66.209.209:20001
Port:                     http-metrics  9090/TCP
TargetPort:               9090/TCP
NodePort:                 http-metrics  32104/TCP     #  这个不是,我多暴露了一个,只看上面那个。   
Endpoints:                100.66.209.209:9090
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

12、登录 dashboard

标签:92m,created,部署,istioctl,apps,istio,TCP,kiali
来源: https://www.cnblogs.com/lfl17718347843/p/16267347.html