一、认识snap
snap类似于Ubuntu的应用商店,里面包含了多种应用,通过几行命令即可完成复杂或大型应用的搭建。
二、认识kubernetes(k8s)
Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。这是官方的定义,能够看出k8s的主要功能,但实际上k8s学习起来的复杂程度还是比较高的,所以我们将跟随《Cloud Native DevOps with Kubernetes》这本书进行我们的k8s学习之旅,并做出书中对应内容的实践操作,可以生动形象的掌握k8s的内容,降低k8s学习的枯燥程度,在不断的实现k8s过程中收获满足感。
三、k8s的安装方式
常见的k8s安装方式由简单到困难可以分为三种:(1)手动本地搭建、(2)使用工具本地搭建、(3)使用云平台。由于结合困难程度和预算考虑,本系列将使用第(2)种方法进行我们的k8s之旅。另外两种方式有机会可出番外继续探讨。
四、使用snap安装microk8s
microk8s是我们上面所说的搭建k8s的一种方式,不需要纠结。
1. 查看本机的snap版本
sudo snap version
2. 查看snap支持的microk8s最新版本
snap info microk8s
3. 安装支持的microk8s最新的stable版本
sudo snap install microk8s --channel=1.22/stable --classic
根据<四、2>可以看到当前最新的版本为1.22,可以根据不同的情况进行安装。这里需要等待下载安装完成。
4. 设定命令别名
sudo vim /home/<你的用户名>/.bashrc
在对应位置添加如下代码:
alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias kubectl='microk8s.kubectl' alias kg='kubectl get' alias kd='kubectl describe' alias kl='kubectl logs'
5. 查看集群状态
kg all -A
-A 表示所有命名空间,-n <namespace>表示指定的命名空间
会发现此时microk8s虽然开启成功了,但是k8s集群内的系统服务都无法启动,是因为k8s的启动需要容器,而容器的启动依赖于镜像。
查看容器详细信息:
kd pod/calico-node-2vxwl(对应你本机的容器名) -n kube-system
这里启动不了的原因是k8s.gcr.io的镜像在国外,国内无法访问,导致镜像无法下载,从而导致容器无法启动。
手工导入缺失的镜像
microk8s.ctr image import /amazing-workspace/backup-linked/docker2k8s/pause31.tar(对应你本机的镜像路径)
再次查看集群状态
kg all -A
五、集群安装完成,接下来就是学习k8s魔法的其他内容了