MicroK8s是一款支持生产的Kubernetes发行版,功能强大、重量轻且可靠;它面向内存和磁盘占用减少的企业,以及预装的附加组件,如Istio、Knative、Grafana、Cilium等。
安装
# 1. 安装
# https://microk8s.io/#install-microk8s
sudo 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 victor
sudo chown -f -R victor ~/.kube
newgrp microk8s
# 获取节点详细信息
kubectl describe node victor-localpet
# 若microk8s启动失败
microk8s.inspect
# 使能cgroup https://askubuntu.com/questions/1389602/how-to-set-cgroup-memory-enable-on-ubuntu-21-10
sudo nano /etc/default/grub
# Edit this line like so:
# GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=false"
sudo update-grub
sudo 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 ls
docker save nginx > nginxlocal.tar
# 将镜像导入缓存
microk8s ctr image import nginxlocal.tar
# 编写yaml将其部署到microk8s
microk8s kubectl apply -f <file>
# 查看部署状态
kubectl get deployment
使用注册表
# 使能注册表 分配20Gi
microk8s enable registry:size=20Gi
# 标记图像并推送到注册表
docker tag 605c77e624dd localhost:32000/nginx:registry
docker push localhost:32000/nginx:registry
# 检查图像是否被标记
docker image
删除pod
k8s中正确删除pod - groby - 博客园
kubectl delete pod pod-name --force --grace-period=0
# 删除部署
kubectl delete deployment yaml