版本:

  docker: 19.03.5

  kubernetes: 1.17.0

  istio: 1.4.3

步骤一:给ubuntu换源

https://www.cnblogs.com/lfri/p/10612037.html

步骤二:装docker

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce=5:19.03.5~3-0~ubuntu-xenial
sudo docker --version

https://www.cnblogs.com/jiyang2008/p/9014960.html

步骤三:装kubernetes(k8s)

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6A030B21BA07F4FB
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main"
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
kubeadm config images list

显示需要拉取的Images,如果提示权限,前面加sudo

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.17.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.17.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.17.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.17.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.5
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.17.0 k8s.gcr.io/kube-apiserver:v1.17.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.17.0 k8s.gcr.io/kube-controller-manager:v1.17.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.17.0 k8s.gcr.io/kube-scheduler:v1.17.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.17.0 k8s.gcr.io/kube-proxy:v1.17.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.- k8s.gcr.io/etcd:3.4.-
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6. k8s.gcr.io/coredns:1.6.

执行Init

kubeadm init --kubernetes-version=v1.17.0 --pod-network-cidr 192.168.0.0/

出现cgroupd有关错误:

cd /etc/docker
sudo touch daemon.json
sudo vim daemon.json // 添加内容:
{
"exec-opts":["native.cgroupdriver=systemd"]
}
sudo service docker restart
sudo systemctl status docker

出现swap有关错误:

swapoff -a

再次执行init命令:

按照提示添加:

执行完继续执行:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pod -n kube-system  // 查看状态

解决coredns的CrashLoopBackOff状态:

sudo vim /etc/resolv.conf
将nameserver的值改为8.8.8.8

systemctl daemon-reload
service docker restart
# 耐心等待几分钟

步骤四:安装istio

我是直接安装的最新版本

mkdir istio
cd istio
curl -L https://git.io/getLatestIstio | sh -

下载速度很慢,建议...

下载完后在istio目录下会有个istio-1.4.3文件夹

vim /etc/profile

添加上面提示的路径。

source /etc/profile
echo $PATH
istioctl verify-install

查看版本:

istioctl version --remote=false

将istio镜像部署到k8s:

在istio-1.4.3目录下输入:

kubectl apply install/kubernetes/istio-demo.yaml

k8s和istio安装成功!

深入学习:

https://preliminary.istio.io/zh/docs/examples/bookinfo/

问题:

1、重启后会遇到istioctl命令失效问题:

source /etc/profile    再来一遍就好了

2、coredns又变成CrashLoopBackOff状态

  再次重新执行一遍上面的解决方案

暂时采取上述方案解决,永久解决的方案待续...(2020-1-13)

参考:

https://blog.csdn.net/weixin_42711936/article/details/96897915

https://blog.csdn.net/weixin_42711936/article/details/97041456

https://blog.csdn.net/weixin_42711936/article/details/99311796

https://blog.csdn.net/weixin_34378767/article/details/92211061

https://www.cnblogs.com/liuluopeng/p/12098071.html

表示万分感谢!

ubuntu16.04 docker kubernetes(k8s) istio 安装的更多相关文章

  1. Kubernetes(k8s)完整安装教程

    Kubernetes(k8s)完整安装教程  2019-08-27 2.3k 记录 发表评论 目录 1 安装 1.1 安装 Docker 1.2 安装 VirtualBox 1.3 安装 kubect ...

  2. 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置

    前言 博主想使用caffe框架进行深度学习相关网络的训练和测试,刚开始做,特此记录学习过程. 环境配置方面,博主以为最容易卡壳的是GPU的NVIDIA驱动的安装和CUDA的安装,前者尝试的都要吐了,可 ...

  3. 在Ubuntu16.04.4和Windows10上安装jdk

    在Ubuntu16.04.4和Windows10上安装jdk 一.在Ubuntu16.04.4上安装jdk  1.下载jdk安装包     首先我们在oracle官网上下载jdk-8u161-linu ...

  4. 在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法

    在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...

  5. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  6. Ubuntu16.04中Mysql 5.7 安装配置

    记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...

  7. Ubuntu16.04下LAMP环境的安装与配置

    Ubuntu16.04下LAMP环境的安装与配置 最近做个实验需要用到Ubuntu环境的靶场,所以这里介绍下Ubuntu环境下LAMP的安装与配置,话不多说,我们gkd! 1.Apache2的安装 首 ...

  8. Ubuntu16.04搭建kubernetes v1.11.2集群

    1.节点介绍         master      cluster-1      cluster-2      cluster-3 hostname        k8s-55      k8s-5 ...

  9. Ubuntu16.04使用阿里云镜像安装Mongodb

    一.概述 近日要在新的Ubuntu16.04系统上安装MongoDB,某度结果后直接从Mongo官网直接获得3.2版本的下载链接,结果在下载时发觉速度慢的可怜.迫于无奈,只能找国内的镜像下载.切换国内 ...

随机推荐

  1. 在eclipse中建立lua开发环境

    1. 给你的eclipse安装LuaEclipse,新增Eclipse Software Update Site“http://luaeclipse.luaforge.net/update-site ...

  2. 【codeforces 766B】Mahmoud and a Triangle

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  3. PC端页面如何调用QQ进行在线聊天?

    pc端如何实现QQ在线咨询? html代码如下: <a href="tencent://message/?uin=1234567&Site=Sambow&Menu=ye ...

  4. 代码片段 Powershell修改桌面壁纸

    其实只不过是利用了win32函数 function Set-Wallpaper($image){ $source = @" using System; using System.Runtim ...

  5. 2018-3-31-C#-谁改了我的代码

    title author date CreateTime categories C# 谁改了我的代码 lindexi 2018-3-31 21:15:3 +0800 2018-2-13 17:23:3 ...

  6. linux strace 命令

    有时小问题可以通过观察用户空间的应用程序的行为来追踪. 监视程序也有助于建立对驱 动正确工作的信心. 例如, 我们能够对 scull 感到有信心, 在看了它的读实现如何响应 不同数量数据的读请求之后. ...

  7. [学习笔记]Pollard-Rho

    之前学的都是假的 %%zzt Miller_Rabin:Miller-Rabin与二次探测 大质数分解: 找到所有质因子,再logn搞出质因子的次数 方法:不断找到一个约数d,递归d,n/d进行分解, ...

  8. vue-cli3 使用 svg-sprite-loader 的坑

    chainWebpack: config => { config.module.rules.delete("svg"); //重点:删除默认配置中处理svg, //const ...

  9. Linux 内核热插拔操作

    热插拔事件的实际控制是通过一套存储于 kset_hotplug_ops 结构的方法完成. struct kset_hotplug_ops { int (*filter)(struct kset *ks ...

  10. TCPIP四层模型和OSI七层模型对应表