MicroK8s是一款支持生产的Kubernetes发行版,功能强大、重量轻且可靠;它面向内存和磁盘占用减少的企业,以及预装的附加组件,如Istio、Knative、Grafana、Cilium等。
安装
# 1. 安装# https://microk8s.io/#install-microk8ssudo snap install microk8s --classic# 卸载sudo snap remove --purge microk8s# 设置别名sudo snap alias microk8s.kubectl kubectl# 2. 验证kubectl get nodes# 给予microk8s权限sudo usermod -a -G microk8s victorsudo chown -f -R victor ~/.kubenewgrp microk8s# 获取节点详细信息kubectl describe node victor-localpet# 若microk8s启动失败microk8s.inspect# 使能cgroup https://askubuntu.com/questions/1389602/how-to-set-cgroup-memory-enable-on-ubuntu-21-10sudo nano /etc/default/grub# Edit this line like so:# GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=false"sudo update-grubsudo reboot# 详情 https://blog.csdn.net/gchan/article/details/120865800# 部署实例程序# 创建deployment(进行部署kubectl create deployment nginx --image=nginx# 端口映射 # NodePort局域网内访问, ClusterIP集群内访问kubectl expose deployment nginx \--port 80 \--target-port 80 \--type ClusterIP \--selector=run=nginx \--name nginx# kubectl expose deployment nginx --port 80 --type=NodePort --name nginx --target-port 80
使用Microk8s镜像缓存
docker image lsdocker save nginx > nginxlocal.tar# 将镜像导入缓存microk8s ctr image import nginxlocal.tar# 编写yaml将其部署到microk8smicrok8s kubectl apply -f <file># 查看部署状态kubectl get deployment
使用注册表
# 使能注册表 分配20Gimicrok8s enable registry:size=20Gi# 标记图像并推送到注册表docker tag 605c77e624dd localhost:32000/nginx:registrydocker push localhost:32000/nginx:registry# 检查图像是否被标记docker image
删除pod
k8s中正确删除pod - groby - 博客园
kubectl delete pod pod-name --force --grace-period=0# 删除部署kubectl delete deployment yaml