溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Istio 1.6版如何編譯

發(fā)布時間:2021-12-08 11:38:42 來源:億速云 閱讀:273 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關Istio 1.6版如何編譯,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

編譯

簡述

核心Makefile包括:

  • Makefile,主要是入口

  • Makefile.core.mk 環(huán)境設置,和主要操作(.PHONY)

  • common/scripts/,大量細致操作

  • tools/,上述的補充

拉取代碼

時間略長,偶爾還會出錯,耐心~

mkdir -p $GOPATH/src/istio.io/istio
cd  $GOPATH/src/istio.io/istio
git clone https://github.com/istio/istio
cd istio

編譯

Makefile 修改

Makefile

  • 屏蔽,這個很重要,其主要會影響一些go編譯的環(huán)境變量

# -include Makefile.overrides.mk

Makefile.core.mk

  • 修改goproxy設置

# export GOPROXY ?= https://proxy.golang.org
export GOPROXY = https://goproxy.cn

編譯

make init

make docker (過程中遇到出錯 & 需要修改的地方,參看FAQ)

生成結果

[root@k8s-master ~]# docker images
REPOSITORY                                                        TAG                                        IMAGE ID            CREATED             SIZE
istio/install-cni                                                 7637c3f9f4a20a163a62166544a61bb724df66f5   f1766aad6d66        20 minutes ago      223MB
istio/operator                                                    7637c3f9f4a20a163a62166544a61bb724df66f5   14ca8786191e        20 minutes ago      244MB
istio/istioctl                                                    7637c3f9f4a20a163a62166544a61bb724df66f5   06fe55eca348        21 minutes ago      272MB
istio/mixer_codegen                                               7637c3f9f4a20a163a62166544a61bb724df66f5   555dad96d372        21 minutes ago      223MB
istio/mixer                                                       7637c3f9f4a20a163a62166544a61bb724df66f5   e214cd046774        21 minutes ago      128MB
istio/test_policybackend                                          7637c3f9f4a20a163a62166544a61bb724df66f5   2e62a8b9ed5b        21 minutes ago      193MB
istio/app_sidecar_debian_10                                       7637c3f9f4a20a163a62166544a61bb724df66f5   918bbcc6658c        21 minutes ago      443MB
istio/app_sidecar_debian_9                                        7637c3f9f4a20a163a62166544a61bb724df66f5   23c23bd23815        21 minutes ago      428MB
istio/app_sidecar_ubuntu_focal                                    7637c3f9f4a20a163a62166544a61bb724df66f5   5c14f607b3a4        21 minutes ago      403MB
istio/app_sidecar_ubuntu_bionic                                   7637c3f9f4a20a163a62166544a61bb724df66f5   acf59e6f6b39        22 minutes ago      408MB
istio/app_sidecar_ubuntu_xenial                                   7637c3f9f4a20a163a62166544a61bb724df66f5   5e724a16f02e        22 minutes ago      466MB

FAQ

拉取不到的鏡像

借用阿里云+github編譯,可參看 這里

docker login

用于登錄的用戶名為阿里云賬號全名,密碼為開通服務時設置的密碼。

docker login --username=xxxxxx registry.cn-zhangjiakou.aliyuncs.com

鏡像一

tag的具體名稱,和istio具體版本的腳本有關,下面這個帶日期的就經常變更,一兩周就遞進一次吧(所以自己完成這個鏡像拉取,還是很有必要的。當然,也可以嘗試用舊版本鏡像來編譯)

docker pull registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:v0.1

docker tag  registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:v0.1 gcr.io/istio-testing/build-tools:master-2020-07-08T14-39-36

鏡像二

docker pull registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:cc-v0.1

docker tag  registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:cc-v0.1 gcr.io/distroless/cc

tag后,鏡像的摘要信息有問題,導致必須做以下處理:

//(不止一處)把編譯出錯提示中,摘要信息,從編譯腳本中刪去....
    FROM gcr.io/distroless/cc@sha256:f81e5db8287d66b012d874a6f7fea8da5b96d9cc509aa5a9b5d095a604d4bca1 as distroless
        改為
    FROM gcr.io/distroless/cc as distroless

鏡像三

docker pull registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:static-debian10-v0.1

docker tag  registry.cn-zhangjiakou.aliyuncs.com/com_ka_img/istio:static-debian10-v0.1 gcr.io/distroless/static-debian10

(同上)tag后,鏡像的摘要信息有問題,導致必須做以下處理:

//(不止一處)把編譯出錯提示中,摘要信息,從編譯腳本中刪去....
    FROM FROM gcr.io/distroless/static-debian10@sha256:4433370ec2b3b97b338674b4de5ffaef8ce5a38d1c9c0cb82403304b8718cde9
        改為
    FROM gcr.io/distroless/static-debian10

安裝fpm

https://www.iyunv.com/thread-982376-1-1.html 但centos默認自帶的ruby版本過低

ruby升級到>2.3版本

https://www.cnblogs.com/lylongs/p/11302272.html

編譯指定組件

make pilot  docker.pilot # 編譯pilot組件和鏡像
make app  docker.app # 編譯app組件和鏡像
make proxy  docker.proxy # 編譯proxy組件和鏡像
make proxy_init  docker.proxy_init # 編譯proxy_init組件和鏡像
make proxy_debug  docker.proxy_debug # 編譯proxy_debug組件和鏡像
make sidecar_injector  docker.sidecar_injector # 編譯sidecar_injector組件和鏡像
make proxyv2  docker.proxyv2 # 編譯proxyv2組件和鏡像 
make push.docker.pilot # 推送pilot鏡像到dockerhub,其他組件類似

編譯生成在如:

-rwxr-xr-x 1 root root 120237998 Jul 20 20:00 ./out/linux_amd64/docker_build/docker.pilot/pilot-discovery
-rwxr-xr-x 1 root root 120237998 Jul 20 20:00 ./out/linux_amd64/pilot-discovery

關于“Istio 1.6版如何編譯”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI