千家信息网

Istio1.6中二进制编译和本地运行是怎样的

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家介绍Istio1.6中二进制编译和本地运行是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。二进制版编译和运行默认编译生成的镜像,调试不是很方便,不好用于研究I
千家信息网最后更新 2025年01月23日Istio1.6中二进制编译和本地运行是怎样的

这篇文章给大家介绍Istio1.6中二进制编译和本地运行是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

二进制版编译和运行

默认编译生成的镜像,调试不是很方便,不好用于研究Istio内部机制。因此尝试本地二进制编译和运行调试。

编译: 可以在各自main()函数所在目录执行编译(见下文中), 也可以用makefile生成的统一目录下内容( /${GOPATH}/src/istio.io/istio/out/linux_amd64/)

pilot

pilot-discovery
cd /${GOPATH}/src/istio.io/istio/pilot/cmd/pilot-discovery/go build -o pilot-discovery./pilot-discovery -h./pilot-discovery discovery
pilot-agent
cd /${GOPATH}/src/istio.io/istio/pilot/cmd/pilot-agent/go build -o pilot-agent./pilot-agent -h./pilot-agent request GET stats    // (从该pilot-agent管理的envoy)获取统计数据

按照 ./pilot-agent proxy 的错误提示,逐步获取本地执行依赖

// 1. 证书文件mkdir -p /${GOPATH}/src/istio.io/istio/out/linux_amd64/var/run/secrets/istiocp /${GOPATH}/src/istio.io/istio/out/linux_amd64/docker_temp/certs/pilot/root-cert.pem /${GOPATH}/src/istio.io/istio/out/linux_amd64/var/run/secrets/istio/root-cert.pem// 2.envoy配置模板文件mkdir -p /${GOPATH}/src/istio.io/istio/out/linux_amd64/var/lib/istio/envoycp /${GOPATH}/src/istio.io/istio/out/linux_amd64/docker_build/docker.proxyv2/gcp_envoy_bootstrap.json /${GOPATH}/src/istio.io/istio/out/linux_amd64/var/lib/istio/envoy/envoy_bootstrap_tmpl.json// 3.envoycp /${GOPATH}/src/istio.io/istio/out/linux_amd64/envoy /usr/local/bin/// 4.touch /etc/ssl/certs/ca-certificates.crt mkdir /${GOPATH}/src/istio.io/istio/out/linux_amd64/etc/istio/pod/touch /${GOPATH}/src/istio.io/istio/out/linux_amd64/etc/istio/pod/labels

至此,pilot-agent 和 envoy 在host上运行起来了,如部分输出

...2020-07-23T12:50:49.581035Z     info    Received new config, creating new Envoy epoch 02020-07-23T12:50:49.581070Z     info    Epoch 0 starting2020-07-23T12:50:49.583358Z     info    Envoy command: [-c etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster istio-proxy --service-node sidecar~172.26.33.33~.~.svc.cluster.local --max-obj-name-len 189 --local-address-ip-version v4 --log-format-prefix-with-location 0 --log-format %Y-%m-%dT%T.%fZ    %l      envoy %n        %v -l warning --component-log-level misc:error]2020-07-23T20:50:49.623931Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 13, 2020-07-23T20:50:49.643268Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 13, ...
envoy

由 pilot-agent 管理生命周期

对照用: 在容器中,envoy的启动命令

Envoy command: [-c etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster istio-ingressgateway --service-node router~172.17.0.22~istio-ingressgateway-64f48849b8-pp9lf.istio-system~istio-system.svc.cluster.local --max-obj-name-len 189 --local-address-ip-version v4 --log-format %Y-%m-%dT%T.%fZ %l envoy %n %v -l warning --component-log-level misc:error]

envoy需要很多配置项支撑

  • 原始的配置文件 /${GOPATH}/src/istio.io/istio/install/gcp/bootstrap/gcp_envoy_bootstrap.json

  • 编译时,会复制副本为 /${GOPATH}/src/istio.io/istio/out/linux_amd64/docker_build/docker.proxyv2/gcp_envoy_bootstrap.json

  • 生成镜像时,Dockerfile.proxyv2会复制副本为 COPY gcp_envoy_bootstrap.json /var/lib/istio/envoy/gcp_envoy_bootstrap_tmpl.json

  • 容器内运行时,pilot-agent 会根据 上述配置模板 生成实际配置文件,并用在 envoy 启动时 /etc/istio/proxy/envoy-rev0.json

galley

cd /${GOPATH}/src/istio.io/istio/galley/tools/mcpc/go build -o galley./galley -h

关于Istio1.6中二进制编译和本地运行是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

编译 运行 配置 二进制 文件 生成 内容 副本 容器 更多 模板 目录 镜像 帮助 管理 不错 原始 不好 兴趣 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 php服务器环境的搭建实训报告 服务器安全策略在那 智能语音服务器供货企业 外派软件开发人员排名 区网络安全宣传周工作总结 软件开发的几种基本方法 人脸识别系统数据库在哪 AI算法怎么用于软件开发 某软件开发项目进度汇报 浙江大学网络安全学院研究生招生 实用网络技术书籍 软件开发毕业设计答辩都怎么问 江汉订制软件开发企业 相亲直播软件开发app 湖南朗科互联网科技有限公司 语音聊天软件开发的大品牌 查看服务器路由表的命令 软件开发测试时文件路径 更改游戏服务器列表连接区IP 贵州重点项目数据库 第四个网络安全宣传周 网络技术税种分类 无源光纤网络技术概念 服务器安全狗如何安装失败 网络安全设备部署方式有哪些 软件开发是需要数学好的吗 水晶服务器连接mysql数据库 数据库系统前台怎么做 成都维雅网络技术有限公司 数据库列命名
0