1、准备镜像
因为众所周知的原因,我们需要先准备一份需要的镜像在国内能拉取得到,需要拉取4个镜像,分别是:
install-cni operator pilot proxyv2
我做了一些格外的处理,拉取下来后,把时区改成了东八区。在目录下分别创建以它们为名的4个文件,内容如下:
[root@aiops-jms istio]# for i in `ls | grep -v Shanghai`;do echo $i; cat $i;echo "==============";done
install-cni
ARG version
FROM docker.io/istio/install-cni:${version}
COPY Shanghai /etc/
RUN mv /etc/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
==============
operator
ARG version
FROM docker.io/istio/operator:${version}
USER root
COPY Shanghai /etc/
RUN mv /etc/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
USER 1337:1337
==============
pilot
ARG version
FROM docker.io/istio/pilot:${version}
USER root
COPY Shanghai /etc/
RUN mv /etc/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
USER 1337:1337
==============
proxyv2
ARG version
FROM docker.io/istio/proxyv2:${version}
COPY Shanghai /etc/
RUN mv /etc/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
==============
push_image.sh
#!/bin/bash
set -e
cd /data/Dockerfile/istio
version=1.22.3
for i in {install-cni,operator,pilot,proxyv2}
do
docker build --build-arg version=${version} -t registry.cn-chengdu.aliyuncs.com/istio_cn/$i:$version . -f $i
docker push registry.cn-chengdu.aliyuncs.com/istio_cn/$i:$version
docker rmi registry.cn-chengdu.aliyuncs.com/istio_cn/$i:$version -f
done
==============
拿去之后,你需要修改push_image里面的仓库地址为你的私有地址,然后执行脚本。在这之前需要保证你所在的机器能拉取得到dockerhub上面的镜像,如果拉不到,你直接使用我提供的 registry.cn-chengdu.aliyuncs.com/istio_cn 前缀也是OK的
2、准备安装包
安装包在官方下载,文件名大概类似 istio-1.22.3-linux-amd64.tar.gz
下载后解压到 /opt下面,保证存在 /opt/istio-1.22.3
执行 cp /opt/istio-1.22.3/bin/istioctl /usr/local/bin/istioctl 使得可以在任何目录执行istioctl
3、运行安装
安装命令:
istioctl install --set profile=default --set components.cni.enabled=true --set hub=registry.cn-chengdu.aliyuncs.com/istio_cn -y
需要注意的地方:
hub=registry.cn-chengdu.aliyuncs.com/istio_cn
这个参数是可选的,如果你是把镜像推到了你自己的仓库了,那么,你在推送镜像的时候把 ”registry.cn-chengdu.aliyuncs.com/istio_cn“ 修改成了什么,这里就填什么。比如
harbor.xxx.com/ops
到这里就静静等待安装完成就好了