用Hyper-v 在win10下使用Docker-Desktop体验kubernetes

首先开启Hyper-v ,会自动创建一个交换机。

开启internet共享,自动创建的那个交换机(虚拟的网络适配器)会分配一个默认的IP 192.168.137.1,这个IP你不爽,就用注册表搜索并修改。

安装docker,我用的最新的19.03.5版本。安装时不要选使用windows容器,安装后也不要切换到windows容器,否则你的电脑会又多了一个虚拟交换机,配置共享会变麻烦,而且windows内核容器支持的docker镜像并不多。

安装好了测试一下。

# 下载个ubuntu容器镜像
docker pull ubuntu
# 运行容器镜像
docker run -it ubuntu /bin/bash
# 查看当前运行的容器
docker ps
# 会看不到刚才运行的ubuntu,因为刚才不是后台运行的,执行一下就推出了,但是我们可以查看运行过的容器
docker ps -a
# 这样我们看到了刚才的运行过的ubuntu和对应的容器ID
# 参数多加上一个d,后台运行,再次运行ubuntu,并指定个应用名ubuntu-test,并进入容器内部的bash。
docker run -itd --name ubuntu-test /bin/bash
# 顺利进入的话,看看容器内部是否能访问互联网。ping 是不行的,最小ubuntu镜像,很多程序都没安装。
apt-get update
# 如果顺利,会显示 Reading package lists... Done
# 测试已经OK了,如果你想继续玩玩,安装点工具软件吧。
apt-get install net-tools       # ifconfig
apt-get install iputils-ping     # ping
ifconfig
# 留意被分配的ip号段。
ping www.google.com
# ping不通google,这会比较麻烦。一会儿可能需要手工拉镜像。

 配置代理:

在右下角的docker图标setting,配置http和https端口代理。留意写法必须为 http://x.x.x.x:端口号。配置信息要跟你科学开辟的代理一致。

找到你docker的配置文件路径, 一般在C:\Users\用户名\.docker 下,有一个config.json文件,这是容器实例共用的配置文件,在里面加入,留意json格式的逗号分隔符。

  "proxies": {
    "default": {
      "httpProxy": "http://x.x.x.x:端口",
      "httpsProxy": "https://x.x.x.x:端口"
    }
  }

关闭运行的容器实例。退出docker。

将hyper-v默认的虚拟交换机(网卡)和你上网的网卡做桥接。

好了,重新运行个容器实例,你会发现你可以用http方式访问谷歌了。注意,因为你开的代理仅仅是http和https代理,也就是说别的访问方式还是不通的,比如ping就不会通,但是不影响我们的安装和以后的运行了。

继续,让我们把Docker-Dsektop内置的kubernetes安装上,版本为V1.15.5这版本稍微有点低,体验或者用于开发用途足够了。

在右下角的docker图标点击setting,

可选:在Docker Engine 内填入国内源的镜像,我用的是在阿里云申请的源地址,你可以百度一下如何申请。不申请也没关系,因为我们已经能访问外网了。

setting单独有一栏就是kubernetes.  在Enable Kubernetes打上对勾,其他的先不用选,Apply一下。界面像卡死了,别担心,如果你有抓包或者代理软件那里能监控得到,你会看见正在下载相关镜像。几分钟后,kubernetes就安装好了。

如果就到此为止,那么请删除你的桥接,否则你在本地可能会访问不了你容器内的应用,尽管在容器内是可以访问互联网的,但是不能双向. 删除桥接后最好重启一下,重新配置你的网络环境,因为你原来的网卡配置和虚拟交换机ip配置已经面目全非了.

如果继续,那么

下一篇,我们安装一下管理界面 kubernetes-dashboard

 

posted @ 2020-02-21 17:45  歪理斜说  阅读(2688)  评论(0编辑  收藏  举报