Istio 作为云原生基础设施的网络层,对应用透明。
如何在 macOS 上编译 Istio 二进制文件和 Docker 镜像。
在正式开始构建前,参考这篇文档 ,以下是我的构建环境信息:
参考这篇文档 编译 Istio。
首先在 GitHub 上 下载 Istio 代码,将代码下载到
执行下面的命令下载 Istio 依赖的包,这些包将下载到
然后执行下面的命令构建 Istio:
如果你没有在命令前加
即使你按照提示执行了
构建完的二进制文件将保存在
同时构建出了
执行下面的将 Istio 编译成 Docker 镜像:
编译根据你的网络情况,大概耗时 3 到 5 分钟。编译完成后,执行下面的命令你将看到 Istio 的 Docker 镜像。
编译出镜像以后,你就可以修改镜像名字并推送到自己的镜像仓库里了。
以上就是在 macOS 上构建 Istio 的过程,如果你已经下载好了构建所需要的的 Docker 镜像,那么构建时间将不超过一分钟,构建 Docker 镜像也只需要几分钟时间
构建前的准备
开始构建
$GOPATH/src/istio.io/istio
目录下,下文中的命令都在该根目录下执行。
编译成二进制文件
vendor
目录下:
go mod vendor
sudo make build
sudo
,你可能遇到下面的错误:
fatal: unsafe repository ('/work' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /work fatal: unsafe repository ('/work' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /work Makefile.core.mk:170: *** "TAG cannot be empty". Stop. make: *** [build] Error 2
git config --global --add safe.directory /work
在编译过程中还是会出现错误。
out
目录下,其目录结构如下:
out ├── darwin_amd64 │ ├── bug-report │ ├── client │ ├── envoy │ ├── extauthz │ ├── install-cni │ ├── istio-cni │ ├── istio-cni-taint │ ├── istio-iptables │ ├── istio_is_init │ ├── istioctl │ ├── logs │ ├── operator │ ├── pilot-agent │ ├── pilot-discovery │ ├── release │ └── server └── linux_amd64 ├── envoy ├── envoy-centos ├── logs └── release
linux_amd64
和 darwin_amd64
架构的二进制文件。
编译成 Docker 镜像
sudo make build
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5000/app_sidecar_centos_7 latest 2044037df94b 51 seconds ago 524MB localhost:5000/app_sidecar_ubuntu_jammy latest 5d8ae5ed55b7 About a minute ago 362MB localhost:5000/proxyv2 latest d4679412385f About a minute ago 243MB localhost:5000/install-cni latest 78f46d5771d2 About a minute ago 270MB localhost:5000/istioctl latest c38130a5adc8 About a minute ago 190MB localhost:5000/pilot latest 2aa9185ec202 About a minute ago 190MB localhost:5000/app latest 473adafaeb8d About a minute ago 188MB localhost:5000/operator latest 9ac1fedcdd12 About a minute ago 191MB localhost:5000/ext-authz latest 1fb5aaf20791 About a minute ago 117MB localhost:5000/app_sidecar_debian_11 latest 61376a02b95d 2 minutes ago 407MB localhost:5000/app_sidecar_ubuntu_xenial latest 7e8efe666611 2 minutes ago 418MB
总结
前言 各位早安,书接上回我们介绍了如何抓取图片 URL 并储存图片,今天我们要结合之前的爬虫功能从网...
前言 走过了资料分析、演算法选择後, 我们得知了有些可以改善模型的方向: 解决资料不平衡(Done)...
这系列内容主要内容是在讲如何用 Next.js 取代 WordPress 前端,因此约 70% 内容...
大家好,GraphQL 是一个可以让 Client 弹性要求资料的技术,本文章将介绍Apollo S...
今天继续介绍 NetSuite 几个基本的 Glossary, 这些 Glossary 经常会出现在...