microk8s 安装

2020-09-07  本文已影响0人  Charles_linzc

microk8s 是ubuntu 生态里的一个可以单机使用的k8s版本,非常适合学习。这里记录一下,microk8s k8s的安装过程。

准备一台ubuntu虚拟机,这里从ubuntu网站下载了20.x的稳定桌面版。

1.  进入系统后再命令行中输入:

sudo snap install microk8s --classic --channel=1.18/stable

提示数据密码后,进入下载与安装过程。

2. 将当前用户加入microk8s 创建的群组:  

sudo usermod -a -G microk8s $USER

sudo chown -f -R $USER ~/.kube

su - $USER

3. 现在可以用以下命令查看以下microk8s 的状态:

从状态上来看,Microk8s已经运行了,但是主要插件还没有安装。

4.  安装dns 插件

microk8s enable dns

5. 安装dashboard: 

 microk8s enable dashboard

安装完成后检查一下,是否所有的Pod都成功启动了: microk8s kubectl get pods -A

都成功启动,则显示如下图,如有Image下载失败,可参照注释部分,手动下载。

想要访问dashboard,还需要通过下面的命令获取创建时生成的临时Token:

现在将dashboard 服务映射到本地及端口10443

端口映射方式

映射完成后可以通过本地Node端口100443访问dashboard.

或者使用本地安装Poxy方式,执行一下命令,在本地启动一个Proxy服务:

microk8s kubectl proxy

完成后通过本地浏览器,输入以下地址访问:

 http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

注意命名空间是kube-system.

输入上文提到的获取Token的命令:

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d" "-f1)

microk8s kubectl -n kube-system describe secret$token

Copy并黏贴Token,进入Dashboard

6. 安装Metrics Server  

主要用来显示CPU,memory等资源消耗。

 microk8s enable dashboard

检查pod,发现为起来,同样需要手动pull一下Image,并导入microk8s中,参考Notes部分。

完成后重新登陆dashboard,点击node等资源,即可看到资源使用情况。

node资源监控 deployment 资源监控

Notes:==============================================

 使用describe命令检查服务,发现都没有起来, 无法下载pause:3.1等来自k8s 镜像仓库的包。

显示所有的Pod: 

microk8s  kubectl 

查看kubesystem命名空间,所有addon的pod相信信息:

microk8s kubectl describe pod  [pod name] -n kubesystem

解决方案: 安装 docker:  

               sudo apt-get install docker.io

 添加用户到docker group, 并使用该用户:

             sudo usermod -aG docker  ${USER}

            su  -  ${USER}

使用Docker 从其它镜像仓库下载pause:3.1 镜像:

docker pull  mirrorgooglecontainers/pause:3.1

下载后修改Tag:

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

将Puase从docker环境中导出为,pause.tar

docker save k8s.gcr.io.pause  > pause.tar

将导出的文件,导入microk8s 镜像列表中:

microk8s ctr  image import pause.tar

稍后重新检查pod状态。

通常使用   kubectl describe pod  [podname]   -n kube-system 来查看系统命名空间的pod详情。

相同问题的镜像还包括:

令一种,通过修改镜像地址,来处理以来无法启动问题的方法(网上搜到的,还没有尝试)

--------------------------------------------------------------------------------------------------------------------------------------
修改pod的sandbox

pod的sandbox 默认是 k8s.gcr.io/pause:3.1,这个镜像是无法获取的。需要将sandbox修改为国内可以获取的镜像。

修改/var/snap/microk8s/current/args/kubelet。 添加--pod-infra-container-image=s7799653/pause:3.1

修改/var/snap/microk8s/current/args/containerd-template.toml的plugins -> plugins.cri -> sandbox_image为s7799653/pause:3.1

重启服务

microk8s.stop

microk8s.start

https://www.jianshu.com/p/02fd2540fab2

上一篇 下一篇

猜你喜欢

热点阅读