相信很多程序员已经对Kubernetes不那么陌生了,但是如何能够快速在本机安装体验Kubernetes呢?如何避免网络问题导致的Kubernetes部署失败呢?今天就为大家带来完整的使用Microk8s安装的K8S安装教程。
Microk8s安装
如果选择下载ubuntu iso作为系统镜像,则安装时会提供microk8s选项,选择安装即可;如果使用multipass或其他方式生成虚拟机,则需要单独安装microk8s,命令如下:
如果安装过程中由于网速太慢导致失败,可以下载所需文件离线安装,离线安装命令如下:
启用Microk8s Addons
Microk8s提供了丰富的Addon供我们使用,本文档将使用DNS,Dashboard来演示Microk8s的基本使用,使用命令之前首先赋予microk8s sudo权限,然后执行以下命令:
通过以上命令启用dns和dashboard,并通过snap alias简化内置的kubectl命令,和microk8s.kubectl一样,我们可以通过相同的方式来使用microk8s内置的helm和istioctl命令。
配置Dashboard服务
Kubernetes Dashboard开发小组为了保证安全性在服务内部设置了检查,通常情况下是不允许在外部设备访问Kubernetes Dashboard的,即使能够访问页面,也无法登录成功。但我们可以通过添加NodePort类型的服务来实现在主机中访问虚拟机Kubernetes Dashboard。配置如下所示:
由于网络问题会导致相关镜像下载失败,我们通常会使用VPN进行镜像下载,这里提供一个无需VPN的配置方式,在/etc/hosts中添加以下内容:
以上配置可满足Kubernetes基本镜像下载需求,可在添加前可以自行通过ping命令查看能否连通。
配置Nginx
接下来我们在虚拟机中安装Nginx并配置端口监听使主机可以访问Kubernetes Dashboard。首先安装Nginx:
接下来通过以下命令为Nginx生成证书:
之后在GitHub的BlueSky5300/cloud-dev-notebook中查找并下载nginx.conf配置文件,替换证书和密钥后重启Nginx。
没有直接使用80或者443端口的原因是在之后如果启动ingress或者istio会出现端口冲突。另外,可以从配置文件中看到配置了端口8001的地址,该地址为kubectl proxy启动后的默认地址,可用于查看Kubernetes的API。
查看效果
Kubernetes Dashboard
Kubernetes APIs
以上就是教程的全部内容,关于虚拟机如何访问主机局域网VPN以及如何为虚拟机或Microk8s单独配置主机的VPN连接,可以在Github中搜索BlueSky5300/cloud-dev-notebook查看文档教程。想要系统的了解Kubernetes相关内容可以阅读《Kubernetes in Action》中文版。