最近在学习k8s,也就是Kubernetes
的使用。
在登录ubuntu的终端时出现了Microk8s
的广告:
* Overheard at KubeCon: "microk8s.status just blew my mind".
https://microk8s.io/docs/commands#microk8s.status
于是我就想试试Microk8s
GitHub项目:ubuntu/microk8s: MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge.
官网:MicroK8s - Fast, Light, Upstream Developer Kubernetes
下载与安装,配置PATH
安装过程参考的官方文档:Quick start | MicroK8s
截止2020-1-26
,MicroK8s
最新的版本是1.17
,需要使用snap
进行安装,snap
是原生安装在ubuntu上的,直接运行:
-> % sudo snap install microk8s --classic
Download snap "microk8s" (1107) from channel "stable" 0% 1B/s ages!
可以看到下载进度很慢,需要一个世纪,但snap
没有国内的镜像,谷歌搜索snap ubuntu mirror china
发现并没有镜像。
之前我写过一篇文章:新一代包管理器:snap介绍和使用:安装,代理,禁用
解决方法有2个:
1.使用代理进行下载 2.使用snap download
下载安装包,然后传递文件到需要的机器。
我采用的是下载下来进行安装:
-> % sudo snap download microk8s
Fetching snap "microk8s"
Fetching assertions for "microk8s"
Install the snap with:
snap ack microk8s_1107.assert
snap install microk8s_1107.snap
-> % sudo snap ack microk8s_1107.assert
-> % sudo snap install microk8s_1107.snap --classic
Warning: /snap/bin was not found in your $PATH. If you've not restarted your session since you
installed snapd, try doing that. Please see https://forum.snapcraft.io/t/9469 for more
details.
microk8s v1.17.0 from Canonical✓ installed
安装完成,还需要添加路径,不然会报错:
root@ubuntu:/home/ubuntu# microk8s.status --wait-ready
Command 'microk8s.status' is available in '/snap/bin/microk8s.status'
The command could not be located because '/snap/bin' is not included in the PATH environment variable.
echo "export PATH=$PATH:/snap/bin" >> ~/.bashrc #bash
source ~/.bashrc
echo "export PATH=$PATH:/snap/bin" >> ~/.zshrc #zsh
source ~/.zshrc
添加用户组
为了不在使用时需要root用户,建议添加用户组:
-> % sudo usermod -a -G microk8s $USER
-> % su - $USER
检查状态并使用kubectl
检查服务状态:
-> # microk8s.status --wait-ready
microk8s is running
addons:
cilium: disabled
dashboard: disabled
dns: disabled
fluentd: disabled
gpu: disabled
helm: disabled
ingress: disabled
istio: disabled
jaeger: disabled
juju: disabled
knative: disabled
kubeflow: disabled
linkerd: disabled
metallb: disabled
metrics-server: disabled
prometheus: disabled
rbac: disabled
registry: disabled
storage: disabled
检查kubectl
状态:
-> # microk8s.kubectl get nodes
NAME STATUS ROLES AGE VERSION
ubuntu Ready <none> 114m v1.17.0
-> # microk8s.kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 114m
部署应用
-> # microk8s.kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
deployment.apps/kubernetes-bootcamp created
-> # microk8s.kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-69fbc6f4cf-ktpcm 0/1 ContainerCreating 0 38s
-> # microk8s.kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-69fbc6f4cf-ktpcm 1/1 Running 0 3m10s
部署过程大约需要几分钟,需要注意的是下载需要网络。
停止和启动服务:
-> # microk8s.stop
Stopped.
-> # microk8s.start
Started.
Enabling pod scheduling
node/ubuntu already uncordoned
更多内容,未完待续。
文档信息
- 本文作者:last2win
- 本文链接:https://last2win.com/2020/01/26/ubuntu-snap-k8s/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)