怎么進(jìn)行MicroK8s快速入門(mén),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的長(zhǎng)垣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
MiroK8s是目前最小、最快與Kubernetes全面兼容的集群系統(tǒng),主要用于工作站和小型團(tuán)隊(duì),但是目前鏡像并沒(méi)有與snap打包在一起,還在gcr.io上,國(guó)內(nèi)下載上還是有問(wèn)題。MicroK8s適合離線開(kāi)發(fā)、原型開(kāi)發(fā)和測(cè)試,尤其是運(yùn)行VM作為小、便宜、可靠的k8s用于CI/CD。支持arm架構(gòu),也適合開(kāi)發(fā) IoT 應(yīng)用,通過(guò) MicroK8s 部署應(yīng)用到小型Linux設(shè)備上。
操作系統(tǒng) Ubuntu 18.04 LTS 或16.04 LTS 環(huán)境 (或其他支持 snapd
的操作系統(tǒng)- see the snapd documentation)。
至少 20G 磁盤(pán)空間, (建議)4G 內(nèi)存。
internet connection(需要能訪問(wèn)gcr.io)
注意:如果沒(méi)有上面的硬件環(huán)境,其它方式安裝 MicroK8s,包括其它操作系統(tǒng)和離線部署,參考 alternative install 頁(yè)面。
MicroK8s 將安裝一個(gè)輕量級(jí)的 Kubernetes,可以用于任何機(jī)器。通過(guò)snap安裝,如下:
sudo snap install microk8s --classic --channel=1.17/stable
關(guān)于如何設(shè)置,參考: channel ?
Running MicroK8s on some ARM hardware may run into difficulties because cgroups (required!) are not enabled by default. This can be remedied on the Rasberry Pi by editing the boot parameters:
sudo vi /boot/firmware/nobtcmd.txt
Note:In older Raspberry Pi versions the boot parameters are in /boot/firmware/cmdline.txt
.
加上:
cgroup_enable=memory cgroup_memory=1
MicroK8s 創(chuàng)建 group 用于 commands的操作,需要admin權(quán)限。通過(guò)下面方式添加:
sudo usermod -a -G microk8s $USER
需要重新打開(kāi)當(dāng)前控制臺(tái):
su - $USER
MicroK8s 有內(nèi)置命令顯示狀態(tài)。安裝時(shí)使用參數(shù)
--wait-ready
等待 Kubernetes services 初始化。
microk8s.status --wait-ready
MicroK8s 綁定自己的 kubectl
版本用于訪問(wèn) Kubernetes集群。
microk8s.kubectl get nodes
查看服務(wù):
microk8s.kubectl get services
MicroK8s 使用命名空間化的 kubectl
命令以防止其它的kubectl安裝的沖突。如果沒(méi)有其他安裝,也可以添加別名 (append to ~/.bash_aliases
) ,如:
alias kubectl='microk8s.kubectl'
使用 kubectl
命令來(lái)訪問(wèn)Kuberenetes,如(國(guó)內(nèi)換成其它的鏡像,因?yàn)間cr.io訪問(wèn)不到):
microk8s.kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
檢查狀態(tài):
microk8s.kubectl get pods
使用helm來(lái)部署應(yīng)用會(huì)簡(jiǎn)單很多,而且方便部署大型應(yīng)用。不過(guò),我在MicroK8s里還沒(méi)有試過(guò),不知道能否全部兼容。
Helm使用參考:
Helm hub,https://hub.helm.sh
Helm 3簡(jiǎn)介,https://www.oschina.net/news/111342/helm-3-0-released
Helm 源碼,https://github.com/helm/helm
MicroK8s 使用盡可能少的輕量級(jí) Kubernetes組件。但是通過(guò) "add-ons">
目前KubeFlow支持還有些問(wèn)題:
目前的KubeFlow0.7.1只能支持Kubernetes1.16以下版本,但是MicroK8s的1.16版本還沒(méi)有KubeFlow的集成,K8s的1.16及以上版本運(yùn)行KubeFlow還有些問(wèn)題。
參考:KubeFlow-在Microk8s部署與應(yīng)用
建議添加 DNS 管理以方便服務(wù)的通訊。對(duì)于需要存儲(chǔ)的應(yīng)用 'storage' add-on 提供主機(jī)的目錄空間。比較容易設(shè)置:
microk8s.enable dns storage
查看完整的插件列表,參考:
See the full list of addons ?
MicroK8s 將會(huì)一直運(yùn)行,使用下面的命令來(lái)啟動(dòng)或停止:
microk8s.stop
... 將會(huì)停止 MicroK8s 及其 services??梢栽俅螁?dòng),使用:
microk8s.start
在MicroK8s里,不再由kubelet來(lái)啟動(dòng)apiserver等容器,而是全部由systemd來(lái)管理apiserver/scheduler/controller-manager,而且容器由containerd進(jìn)行管理(而不是docker),可以通過(guò)microk8s.ctr來(lái)查看容器相關(guān)的信息。
服務(wù):
ubuntu@ubuntu:/etc/systemd/system$ ls -l -rw-r--r-- 1 root root 255 Apr 8 10:38 snap-microk8s-1295.mount -rw-r--r-- 1 root root 509 Apr 8 10:38 snap.microk8s.daemon-apiserver-kicker.service -rw-r--r-- 1 root root 488 Apr 8 10:38 snap.microk8s.daemon-apiserver.service -rw-r--r-- 1 root root 500 Apr 8 10:38 snap.microk8s.daemon-cluster-agent.service -rw-r--r-- 1 root root 491 Apr 8 10:38 snap.microk8s.daemon-containerd.service -rw-r--r-- 1 root root 515 Apr 8 10:38 snap.microk8s.daemon-controller-manager.service -rw-r--r-- 1 root root 473 Apr 8 10:38 snap.microk8s.daemon-etcd.service -rw-r--r-- 1 root root 485 Apr 8 10:38 snap.microk8s.daemon-flanneld.service -rw-r--r-- 1 root root 482 Apr 8 10:38 snap.microk8s.daemon-kubelet.service -rw-r--r-- 1 root root 476 Apr 8 10:38 snap.microk8s.daemon-proxy.service -rw-r--r-- 1 root root 488 Apr 8 10:38 snap.microk8s.daemon-scheduler.service
查看服務(wù)的信息:
ubuntu@ubuntu:/etc/systemd/system$ sudo systemctl status snap.microk8s.daemon-kubelet ● snap.microk8s.daemon-kubelet.service - Service for snap application microk8s.daemon-kubelet Loaded: loaded (/etc/systemd/system/snap.microk8s.daemon-kubelet.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-04-16 11:35:59 UTC; 30ms ago Main PID: 18351 (snap) Tasks: 6 (limit: 4441) CGroup: /system.slice/snap.microk8s.daemon-kubelet.service └─18351 /usr/bin/snap run microk8s.daemon-kubelet Apr 16 11:35:59 ubuntu systemd[1]: Started Service for snap application microk8s.daemon-kubelet.
查看容器信息:
ubuntu@ubuntu:/etc/systemd/system$ sudo microk8s.ctr NAME: ctr - __ _____/ /______ / ___/ __/ ___/ / /__/ /_/ / \___/\__/_/ containerd CLI USAGE: ctr [global options] command [command options] [arguments...] VERSION: v1.2.5 COMMANDS: plugins, plugin provides information about containerd plugins version print the client and server versions containers, c, container manage containers content manage content events, event display containerd events images, image, i manage images leases manage leases namespaces, namespace manage namespaces pprof provide golang pprof outputs for containerd run run a container snapshots, snapshot manage snapshots tasks, t, task manage tasks install install a new package shim interact with a shim directly cri interact with cri plugin help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --debug enable debug output in logs --address value, -a value address for containerd's GRPC server (default: "/run/containerd/containerd.sock") --timeout value total timeout for ctr commands (default: 0s) --connect-timeout value timeout for connecting to containerd (default: 0s) --namespace value, -n value namespace to use with commands (default: "default") [$CONTAINERD_NAMESPACE] --help, -h show help --version, -v print the version
其中,images和containers分別與docker的images和ps命令對(duì)應(yīng)。
看完上述內(nèi)容,你們掌握怎么進(jìn)行MicroK8s快速入門(mén)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!