教你一步一步用 ubuntu / microk8s 安装 istio (国内源)

屏幕快照 2020-05-28 上午11.00.04.png

1、安装 snap

如果 ubuntu 上没有 snap , 需要先安装 snap (ubuntu 18 已自带 snap)。 另外如果系统是 ubuntu 14,建议先升级到 16 或 18。
国内snap加速可以用 腾讯云 (https://mirrors.cloud.tencent.com/help/ubuntu.html
)的源,很快!

$ sudo apt update
$ sudo apt install snapd
...
$ sudo systemctl restart snapd

2、安装 microk8s

$ sudo snap install microk8s --classic

详细的权限设置可以 参看 microk8s 官网
https://microk8s.io/docs

出于简化的目的,我们可以用 kubectl 替代 microk8s.kubectl

$ sudo snap alias microk8s.kubectl kubectl

3、检查 microk8s 状态

$ sudo microk8s.inspect

如果报了一些警告,请按照警告进行修改

...
 WARNING:  IPtables FORWARD policy is DROP. Consider enabling traffic forwarding with: sudo iptables -P FORWARD ACCEPT 
The change can be made persistent with: sudo apt-get install iptables-persistent
WARNING:  Docker is installed. 
Add the following lines to /etc/docker/daemon.json: 
{
    "insecure-registries" : ["localhost:32000"] 
}
and then restart docker with: sudo systemctl restart docker

4、配置 microk8s 内置 docker 的 registry.mirrors

编辑 /var/snap/microk8s/current/args/containerd-template.toml 文件
endpoint 添加 新的 国内 registry.mirrors , 如 "https://docker.mirrors.ustc.edu.cn"

...
[plugins.cri.registry]
      [plugins.cri.registry.mirrors]
        [plugins.cri.registry.mirrors."docker.io"]
          endpoint = [
                "https://docker.mirrors.ustc.edu.cn",
                "https://hub-mirror.c.163.com",
                "https://mirror.ccs.tencentyun.com",
                "https://registry-1.docker.io"
          ]

然后,先停止 microk8s,再启动 microk8s

$ sudo microk8s stop
$ sudo microk8s start

5、启动 microk8s dns

先安装一个 最必要 的 dns 插件

$ sudo microk8s.enable dns

观察启动的情况

$ sudo kubectl get pods -n kube-system

NAME                      READY   STATUS              RESTARTS   AGE
coredns-87fcbc976-pckpj   0/1     ContainerCreating   0          60m

会发现 coredns 一直处于 ContainerCreating 状态, 查看 pods 情况

$ sudo kubectl describe pods coredns-87fcbc976-pckpj -n kube-system
...
Warning  FailedCreatePodSandBox  58s                    
kubelet, doudong   Failed to create pod sandbox: rpc error: code = Unknown desc = failed to 
get sandbox image "k8s.gcr.io/pause:3.1": failed to pull image "k8s.gcr.io/pause:3.1": failed to resolve image "k8s.gcr.io/pause:3.1": no available registry endpoint: 
failed to do request: Head "https://k8s.gcr.io/v2/pause/manifests/3.1": dial tcp 64.233.189.82:443: i/o timeout

发现由于某种原因 无法获取 指定镜像 k8s.gcr.io/pause:3.1


6、手动下载镜像

步骤如下:
6.1、下载docker hub 上的 镜像

$ sudo docker pull mirrorgooglecontainers/pause:3.1

6.2、修改镜像 tag

$ sudo docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1

6.3、保存镜像为 tar 文件

$ sudo docker save k8s.gcr.io/pause > pause.tar

6.4、将tar 文件上传到 microk8s 的 docker 中

$ sudo microk8s.ctr image import pause.tar
unpacking k8s.gcr.io/pause:3.1 (sha256:3efe4ff64c93123e1217b0ad6d23b4c87a1fc2109afeff55d2f27d70c55d8f73)...done

6.5、过一下,再观察 coredns 状态,会发现已经成功的 running (如果还不成功,则继续 通过 kubectl describe pods ... 观察 pods 的状态,如果有下载不成功的镜像,再如法炮制一遍。

6.6 如果 coredns 成功启动,会显示如下

$ sudo kubectl get pods -n kube-system
NAME                      READY   STATUS    RESTARTS   AGE
coredns-87fcbc976-pckpj   1/1     Running   0          90m

7、microk8s 启动 istio

先用 microk8s 下载 istio

$ sudo microk8s.enable istio
Enabling Istio
Fetching istioctl version v1.3.4.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635  100   635    0     0    292      0  0:00:02  0:00:02 --:--:--   292
  7 36.3M    7 2667k    0     0  23557      0  0:26:59  0:01:55  0:25:04 25609

下载速度取决于你的网络情况,但是成功下载是没有问题的。

安装完成后,查看 istio 容器情况

$ sudo kubectl get pods -n istio-system

由于要拉取镜像,所以全部容器启动完成,需要一些时间,这也取决于你的网络状况。

全部正常启动后的情况如下:

NAME                                      READY   STATUS      RESTARTS   AGE
grafana-78758665bb-5vp4j                  1/1     Running     0          9h
istio-citadel-799bf7ddb9-2v2mm            1/1     Running     1          9h
istio-egressgateway-78d46d89bf-w44bp      1/1     Running     1          9h
istio-galley-cbf67694f-4lfnp              1/1     Running     1          9h
istio-grafana-post-install-1.3.4-8wpbm    0/1     Completed   0          9h
istio-ingressgateway-5d86f5f694-2fhnl     1/1     Running     1          9h
istio-pilot-5867df8f85-hjj69              2/2     Running     2          9h
istio-policy-54d878f564-q6p42             2/2     Running     8          9h
istio-security-post-install-1.3.4-d2bw2   0/1     Completed   0          9h
istio-sidecar-injector-66bc6cf76b-4nzbc   1/1     Running     2          9h
istio-telemetry-647b9c8ccd-mzs4v          2/2     Running     9          9h
istio-tracing-6cb4f885d4-5tv7g            1/1     Running     1          9h
kiali-68d8fc4d54-p8q8n                    1/1     Running     1          9h
prometheus-5c8fb8f746-jk89s               1/1     Running     1          9h

总结

通过 microk8s 安装 istio 过程中最重要的其实是在 第5步 的 安装 dns 插件, 只要装好了 dns 插件(需要手动 或 通过代理安装),后续的安装工作基本上都能顺利完成。


使用代理

如果有代理的话,也可以省去 第 6 步 的麻烦,修改
${SNAP_DATA}/args/containerd-env
(通常是 /var/snap/microk8s/current/args/containerd-env)
加入两行

HTTPS_PROXY=<你的代理地址:端口>
HTTP_PROXY=<你的代理地址:端口>

然后

$ sudo microk8s stop
$ sudo microk8s start
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342