相信很多程序员已经对Kubernetes不那么陌生了,但是如何能够快速在本机安装体验Kubernetes呢?如何避免网络问题导致的Kubernetes部署失败呢?今天就为大家带来完整的使用Microk8s安装的K8S安装教程。

Microk8s安装

如果选择下载ubuntu iso作为系统镜像,则安装时会提供microk8s选项,选择安装即可;如果使用multipass或其他方式生成虚拟机,则需要单独安装microk8s,命令如下:

如果安装过程中由于网速太慢导致失败,可以下载所需文件离线安装,离线安装命令如下:

e64f264d1aa022a8b41fbd0d40b48508.png

启用Microk8s Addons

Microk8s提供了丰富的Addon供我们使用,本文档将使用DNS,Dashboard来演示Microk8s的基本使用,使用命令之前首先赋予microk8s sudo权限,然后执行以下命令:

0246e97d421fe7e191cee2ab2fe14f48.png

通过以上命令启用dns和dashboard,并通过snap alias简化内置的kubectl命令,和microk8s.kubectl一样,我们可以通过相同的方式来使用microk8s内置的helm和istioctl命令。

配置Dashboard服务

Kubernetes Dashboard开发小组为了保证安全性在服务内部设置了检查,通常情况下是不允许在外部设备访问Kubernetes Dashboard的,即使能够访问页面,也无法登录成功。但我们可以通过添加NodePort类型的服务来实现在主机中访问虚拟机Kubernetes Dashboard。配置如下所示:

c3a939a80c90cfc01b587ddcf6aa0ce7.png

由于网络问题会导致相关镜像下载失败,我们通常会使用VPN进行镜像下载,这里提供一个无需VPN的配置方式:

在/etc/hosts中添加以下内容:

6d9bc39ad28c8d7b2b102019bb695a9b.png

以上配置可满足Kubernetes基本镜像下载需求,可在添加前可以自行通过ping命令查看能否连通。

配置Nginx

接下来我们在虚拟机中安装Nginx并配置端口监听使主机可以访问Kubernetes Dashboard。首先安装Nginx:

64c6283002f5eb2139f35c83e15fd38d.png

接下来通过以下命令为Nginx生成证书:

35bbfe03c50b3cca168dc4588e3d8b5c.png

之后在GitHub的BlueSky5300/cloud-dev-notebook中查找并下载nginx.conf配置文件,替换证书和密钥后重启Nginx。

没有直接使用80或者443端口的原因是在之后如果启动ingress或者istio会出现端口冲突。另外,可以从配置文件中看到配置了端口8001的地址,该地址为kubectl proxy启动后的默认地址,可用于查看Kubernetes的API。

查看效果

  • Kubernetes Dashboard
707e21b7008b0b1fd090ad5c5c0cbda1.png
  • Kubernetes APIs
5b48065b05e27faf6d715e430d710fae.png

以上就是教程的全部内容,关于虚拟机如何访问主机局域网VPN以及如何为虚拟机或Microk8s单独配置主机的VPN连接,可以在Github中搜索BlueSky5300/cloud-dev-notebook查看文档教程,也可以点击下方了解更多查看。

想要系统的了解Kubernetes相关内容可以阅读《Kubernetes in Action》中文版。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐