istio部署
建议在k8s集群中部署,关于k8s的快速部署,可以参考一下方案:https://blog.csdn.net/weixin_45363959/article/details/134643519?spm=1001.2014.3001.55021.1 使用以下命令会在本地下载Istio 包1.2 进入 istio 文件夹1.3 将 istioctl 客户端添加到路径2 安装 istio2.1 采用 de
·
istio部署
建议在k8s集群中部署,关于k8s的快速部署,可以参考一下方案:
https://blog.csdn.net/weixin_45363959/article/details/134643519?spm=1001.2014.3001.5502
1. 下载istio
1.1 使用以下命令会在本地下载Istio 包
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.20.0 TARGET_ARCH=x86_64 sh -
1.2 进入 istio 文件夹
cd istio-1.20.0
1.3 将 istioctl 客户端添加到路径
export PATH=$PWD/bin:$PATH
2 安装 istio
2.1 采用 demo 配置组合
istioctl install --set profile=demo -y
2.2 如果现有k8s有已有应用在运行,比如测试环境,建议重新创建命名空间,不要影响到现有已经在使用的命名空间
# 创建命名空间
kubectl create namespace istio-test
# 后续应用都部署在istio-test的这个命名空间下,所以要给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理。
kubectl label namespace istio-test istio-injection=enabled
3. 部署示例应用
3.1 部署 Bookinfo 示例应用
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml -n istio-test
3.2 观察应用启动情况
# pod情况
kubectl get pods -n istio-test -w
# service情况
kubectl get svc -n istio-test
3.3 确认应用都起来后,对应用进行测试确认
kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
如果应用一切OK,该命令会返回:
4 外部访问应用
4.1 给应用创建istio入口网关
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
4.2 验证配置是否正确
istioctl analyze
5 外部访问的ip和端口
因为没有外部负载均衡设备,所以通过选择一个节点的端口来代替。
设置外部访问的IP、端口:
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].status.hostIP}')
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
通过以下命令进行设置结果验证
echo "$GATEWAY_URL"
运行下面命令,获取 Bookinfo 应用的外部访问地址。
echo "http://$GATEWAY_URL/productpage"
5 查看仪表板
安装 Kiali 和其他插件
kubectl apply -f samples/addons
启动Kiali 仪表板
# 192.168.1.200为master ip地址
istioctl dashboard kiali --address=192.168.1.200 &
启动grafana仪表板
# 192.168.1.200为master ip地址
istioctl dashboard grafana --address=192.168.1.200 &
以上相关仪表板都是通过后台运行,启动后会放回访问地址
更多推荐
已为社区贡献10条内容
所有评论(0)