MicroK8s是一款支持生产的Kubernetes发行版,功能强大、重量轻且可靠;它面向内存和磁盘占用减少的企业,以及预装的附加组件,如Istio、Knative、Grafana、Cilium等。

安装

  1. # 1. 安装
  2. # https://microk8s.io/#install-microk8s
  3. sudo snap install microk8s --classic
  4. # 卸载
  5. sudo snap remove --purge microk8s
  6. # 设置别名
  7. sudo snap alias microk8s.kubectl kubectl
  8. # 2. 验证
  9. kubectl get nodes
  10. # 给予microk8s权限
  11. sudo usermod -a -G microk8s victor
  12. sudo chown -f -R victor ~/.kube
  13. newgrp microk8s
  14. # 获取节点详细信息
  15. kubectl describe node victor-localpet
  16. # 若microk8s启动失败
  17. microk8s.inspect
  18. # 使能cgroup https://askubuntu.com/questions/1389602/how-to-set-cgroup-memory-enable-on-ubuntu-21-10
  19. sudo nano /etc/default/grub
  20. # Edit this line like so:
  21. # GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=false"
  22. sudo update-grub
  23. sudo reboot
  24. # 详情 https://blog.csdn.net/gchan/article/details/120865800
  25. # 部署实例程序
  26. # 创建deployment(进行部署
  27. kubectl create deployment nginx --image=nginx
  28. # 端口映射
  29. # NodePort局域网内访问, ClusterIP集群内访问
  30. kubectl expose deployment nginx \
  31. --port 80 \
  32. --target-port 80 \
  33. --type ClusterIP \
  34. --selector=run=nginx \
  35. --name nginx
  36. # kubectl expose deployment nginx --port 80 --type=NodePort --name nginx --target-port 80

使用Microk8s镜像缓存

  1. docker image ls
  2. docker save nginx > nginxlocal.tar
  3. # 将镜像导入缓存
  4. microk8s ctr image import nginxlocal.tar
  5. # 编写yaml将其部署到microk8s
  6. microk8s kubectl apply -f <file>
  7. # 查看部署状态
  8. kubectl get deployment

使用注册表

  1. # 使能注册表 分配20Gi
  2. microk8s enable registry:size=20Gi
  3. # 标记图像并推送到注册表
  4. docker tag 605c77e624dd localhost:32000/nginx:registry
  5. docker push localhost:32000/nginx:registry
  6. # 检查图像是否被标记
  7. docker image

删除pod

k8s中正确删除pod - groby - 博客园

  1. kubectl delete pod pod-name --force --grace-period=0
  2. # 删除部署
  3. kubectl delete deployment yaml