microk8s使用

microk8s使用

在使用microk8s时,可以设置一些别名,使用起来保持与k8s习惯一样,具体如下

sudo snap alias microk8s.kubectl kubectl
sudo snap alias microk8s.ctr ctr
sudo snap alias microk8s.helm helm
sudo snap alias microk8s.helm3 helm3

部署microk8s后,排查集群状态

microk8s status
microk8s.inspect

docker-registry搭建私有镜像仓库

docker pull registry:2
docker create volume registry_data
mkdir  /opt/data/auth
docker run  --entrypoint htpasswd registry:2 -Bbn  admin  Harbor@dmin.mec > auth/htpasswd
docker run -d -p 5000:5000 --restart=always --name registry \-v registry_data:/var/lib/registry \-v /opt/data/auth:/auth \-e "REGISTRY_AUTH=htpasswd" \-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \-e  REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \registry:2
docker login -u username -p userpasswd 192.168.1.33:5000    

保存镜像

docker save docker.io/calico/cni:v3.25.1 docker.io/calico/kube-controllers:v3.25.1 docker.io/calico/node:v3.25.1 docker.io/cdkbot/hostpath-provisioner:1.5.0 docker.io/coredns/coredns:1.10.1 docker.io/library/busybox:1.28.4 registry.k8s.io/ingress-nginx/controller:v1.8.0 registry.k8s.io/metrics-server/metrics-server:v0.6.3 registry.k8s.io/pause:3.7 -o microk8s.tar

导入镜像

microk8s ctr i import microk8s.tar

配置集群与访问

microk8s config > ~/.kube/config
kubectl get node -o wide
kubectl get pod -A

启用插件host-path和ingress-controller,metrics-server.

microk8s status
microk8s enable hostpath-storage
microk8s enable ingress
microk8s enable metrics-server

验证

kubectl get pod -A
microk8s status

资源占用量

root@xww-nuc8i5beh:/media/xww/sda1/server/microk8s# kubectl describe node
Name:               xww-nuc8i5beh
Roles:              <none>
Labels:             beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkubernetes.io/arch=amd64kubernetes.io/hostname=xww-nuc8i5behkubernetes.io/os=linuxmicrok8s.io/cluster=truenode.kubernetes.io/microk8s-controlplane=microk8s-controlplane
Annotations:        node.alpha.kubernetes.io/ttl: 0projectcalico.org/IPv4Address: 192.168.10.102/24projectcalico.org/IPv4VXLANTunnelAddr: 10.1.181.128volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Fri, 12 Jan 2024 20:24:04 +0800
Taints:             <none>
Unschedulable:      false
Lease:HolderIdentity:  xww-nuc8i5behAcquireTime:     <unset>RenewTime:       Sat, 13 Jan 2024 11:12:38 +0800
Conditions:Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message----                 ------  -----------------                 ------------------                ------                       -------NetworkUnavailable   False   Sat, 13 Jan 2024 11:01:36 +0800   Sat, 13 Jan 2024 11:01:36 +0800   CalicoIsUp                   Calico is running on this nodeMemoryPressure       False   Sat, 13 Jan 2024 11:09:49 +0800   Fri, 12 Jan 2024 20:24:04 +0800   KubeletHasSufficientMemory   kubelet has sufficient memory availableDiskPressure         False   Sat, 13 Jan 2024 11:09:49 +0800   Fri, 12 Jan 2024 20:24:04 +0800   KubeletHasNoDiskPressure     kubelet has no disk pressurePIDPressure          False   Sat, 13 Jan 2024 11:09:49 +0800   Fri, 12 Jan 2024 20:24:04 +0800   KubeletHasSufficientPID      kubelet has sufficient PID availableReady                True    Sat, 13 Jan 2024 11:09:49 +0800   Sat, 13 Jan 2024 11:01:40 +0800   KubeletReady                 kubelet is posting ready status. AppArmor enabled
Addresses:InternalIP:  192.168.10.102Hostname:    xww-nuc8i5beh
Capacity:cpu:                8ephemeral-storage:  245084444Kihugepages-1Gi:      0hugepages-2Mi:      0memory:             32867920Kipods:               110
Allocatable:cpu:                8ephemeral-storage:  244035868Kihugepages-1Gi:      0hugepages-2Mi:      0memory:             32765520Kipods:               110
System Info:Machine ID:                 105c044a9dba42f5a4740ef13b5692ebSystem UUID:                B17F28E3-2822-F3FD-A1F3-94C691A75966Boot ID:                    6bac866c-d336-4606-9c47-6b01f110baefKernel Version:             4.15.0-109-genericOS Image:                   Ubuntu 18.04.4 LTSOperating System:           linuxArchitecture:               amd64Container Runtime Version:  containerd://1.6.15Kubelet Version:            v1.28.3Kube-Proxy Version:         v1.28.3
Non-terminated Pods:          (6 in total)Namespace                   Name                                       CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE---------                   ----                                       ------------  ----------  ---------------  -------------  ---kube-system                 calico-node-dp5tr                          250m (3%)     0 (0%)      0 (0%)           0 (0%)         14hkube-system                 calico-kube-controllers-77bd7c5b-fph2n     0 (0%)        0 (0%)      0 (0%)           0 (0%)         14hkube-system                 coredns-864597b5fd-n5pzq                   100m (1%)     0 (0%)      70Mi (0%)        170Mi (0%)     14hingress                     nginx-ingress-microk8s-controller-z5plk    0 (0%)        0 (0%)      0 (0%)           0 (0%)         3m36skube-system                 hostpath-provisioner-7df77bc496-q4zp6      0 (0%)        0 (0%)      0 (0%)           0 (0%)         3m36skube-system                 metrics-server-848968bdcd-k5w78            100m (1%)     0 (0%)      200Mi (0%)       0 (0%)         3m35s
Allocated resources:(Total limits may be over 100 percent, i.e., overcommitted.)Resource           Requests    Limits--------           --------    ------cpu                450m (5%)   0 (0%)memory             270Mi (0%)  170Mi (0%)ephemeral-storage  0 (0%)      0 (0%)hugepages-1Gi      0 (0%)      0 (0%)hugepages-2Mi      0 (0%)      0 (0%)
Events:              <none>

运行nginx进行测试

apiVersion: v1 #类型为Namespace
kind: Namespace  #类型为Namespace
metadata:name: ns-test  #命名空间名称labels:name: label-test  #pod标签
---
apiVersion: apps/v1
kind: Deployment
metadata:namespace: ns-testname: nginx-deployment
spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:alpineports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:namespace: ns-testname: nginx-service
spec:selector:app: nginxtype: NodePortports:- protocol: TCPport: 80targetPort: 80nodePort: 30080

部署和验证

kubectl apply -f nginx.yaml
curl http://192.168.10.102:30080

部署有状态服务

# cat pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mypvc1namespace: ns-test
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1GistorageClassName: microk8s-hostpath

有状态的nginx服务

# cat nginx.yaml
apiVersion: v1 #类型为Namespace
kind: Namespace  #类型为Namespace
metadata:name: ns-test  #命名空间名称labels:name: label-test  #pod标签
---
apiVersion: apps/v1
kind: Deployment
metadata:namespace: ns-testname: nginx-deployment
spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:alpineports:- containerPort: 80volumeMounts:- mountPath: "/mydata"name: mydatavolumes:- name: mydatapersistentVolumeClaim:claimName: mypvc1
---
apiVersion: v1
kind: Service
metadata:namespace: ns-testname: nginx-service
spec:selector:app: nginxtype: NodePortports:- protocol: TCPport: 80targetPort: 80nodePort: 30080

验证

kubectl apply -f pvc.yaml
kubectl apply -f nginx.yaml
kubectl get pvc -A
kubectl get pod -A

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494106.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略

Tool之Excalidraw&#xff1a;Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点&#xff1a; Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装&#xff1a; T2、使用 …

设计模式之【观察者模式】

观察者模式&#xff1a; 应用于发布-订阅消息模型中&#xff0c;订阅者订阅一个主题后&#xff0c;当有新消息到达时&#xff0c;所有订阅者都会收到通知。 主要关注的是对象之间的通信。是一种对象之间的一对多关系&#xff0c;多个对象依赖于一个对象&#xff0c;当被依赖的…

页面无滚动条,里面div各自有滚动条

一、双滚动条左右布局 实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Doc…

(Z Shell)zsh: no matches found: ? 使用单引号包裹

文章目录 dgqdgqdeMac-mini ProductAuthentication % git commit -m "open-type"{{isCodeValid ? getPhoneNumber : none}}"" zsh: no matches found: ?git commit -m open-type"{{isCodeValid ? getPhoneNumber : none}}"你遇到的 zsh: no m…

鸿蒙元服务从0到上架【第二篇】

第一招&#xff1a;在AppGallery后台下载对应的证书等文件 AppGallery后台 新增发布证书&#xff0c;具体操作可查看申请发布证书 申请发布Profile证书 第二招&#xff1a;在IDE中填写 第三招&#xff1a;打包【⚠️发布上架的只能是Build App】 终端展示这一片绿&#xf…

网络安全概论——身份认证

一、身份证明 身份证明可分为以下两大类 身份验证——“你是否是你所声称的你&#xff1f;”身份识别——“我是否知道你是谁&#xff1f;” 身份证明系统设计的三要素&#xff1a; 安全设备的系统强度用户的可接受性系统的成本 实现身份证明的基本途径 所知&#xff1a;个…

【学习记录】浏览器指纹相关学习记录(指纹介绍、获取指纹、修改指纹、随机指纹保护隐私等)

用途 不需要用户登录&#xff0c;可以识别是同一个用户&#xff0c;用于反爬虫广告推送等一类的场景 指纹在线查询地址 http://www.fingerprintbrowser.com/ CreepJS 浏览器指纹在线检测网站:代理IP防关联伪装度查询工具 IP检测大师 【自动化】Python SeleniumUtil 工具 开…

redis数据转移

可能有时候因为硬件的原因我们我们需要更换服务器&#xff0c;如果更换服务器的话&#xff0c;那我们redis的数据该怎样转移呢&#xff0c;按照一下步骤即可完成redis数据的转移 1.进入redis客户端 2.使用 bgsave命令进行数据的备份&#xff0c;此命令完成后会在你的redis安装目…

【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…

腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大三学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

登山第十六梯:深度恢复——解决机器人近视问题

文章目录 一 摘要 二 资源 三 内容 一 摘要 深度感知是基于 3D 视觉的机器人技术的一个重要问题。然而&#xff0c;现实世界的主动立体或 ToF 深度相机经常会产生嘈杂且深度不完整&#xff0c;从而成为机器人性能的瓶颈。在这项工作中&#xff0c;提出了 一个基于学习的立体…

Leetcode中最常用的Java API——util包

前言&#xff1a;在刷力扣的时候是核心代码模式&#xff0c;笔试的时候很可能是ACM模式&#xff0c;需要自己完成导包、定义和自行设计输出&#xff0c;所以一些常用的类和方法需要先导入相应的API包&#xff0c;java.util就是最常用到的包&#xff0c;因为它包含集合这个大框架…

JVM对象分配内存如何保证线程安全?

大家好&#xff0c;我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全&#xff1f;】面试题。希望对大家有帮助&#xff1b; JVM对象分配内存如何保证线程安全&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中&#xff0c;对象的内存分配…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题&#xff0c;并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈&#xff0c;发现本示例有明显的性能问题&#xff0c;一是内存溢出问题&#xff0c;二是卡顿的问题&#xff0c;在这里感谢大家的提醒。 请大家动动小手&a…

AIGC-------AI生成内容如何赋能AR和VR体验?

AI生成内容如何赋能AR和VR体验 引言 增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;技术近年来蓬勃发展&#xff0c;为用户提供了沉浸式的体验。这些技术已经广泛应用于游戏、教育、医疗、建筑等领域。然而&#xff0c;AR和VR体验的质量与内容的丰富…

VLM--CLIP作分类任务的损失函数

info_nce_loss 这个是clip作对比学习的损失函数 各个博客上都有详细介绍了&#xff0c;我这里就不赘述 def info_nce_loss(image_features, text_features,logit_scale,labels, temperature0.07):batch_size image_features.shape[0]image_features image_features / image…

【模型压缩】原理及实例

在移动智能终端品类越发多样的时代&#xff0c;为了让模型可以顺利部署在算力和存储空间都受限的移动终端&#xff0c;对模型进行压缩尤为重要。模型压缩&#xff08;model compression&#xff09;可以降低神经网络参数量&#xff0c;减少延迟时间&#xff0c;从而实现提高神经…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环&#xff0c;但是前面有个if判断&#xff0c;能进入while循环的也不多&#xff0c;while循环就相当于两个for循环&#xff0c;但不是嵌套类型的&#xff1a; 变量作用域问题&#xff1a;

Burp与其他安全工具联动及代理设置教程

Burp Suite 是一款功能强大的 Web 安全测试工具&#xff0c;其流量拦截和调试功能可以与其他安全工具&#xff08;如 Xray、Yakit、Goby 等&#xff09;实现联动&#xff0c;从而提升渗透测试的效率。本文将详细讲解 Burp 与其他工具联动的原理以及代理设置的操作方法&#xff…

文件操作(File类)

目录 一、初识文件 二、File类 常用方法 一、初识文件 我们目前是如何存储数据的?弊端是什么? int a 1; int[] arr new int[5];我们这些数据是在内存中存储的&#xff0c;是不能够长久保存的。 那么&#xff0c;我们的计算机当中有没有一块硬件可以长久存储数据的? 磁…