cka从入门到放弃
无数次想放弃,最后选择了坚持
监控pod日志
监控名为 foobar 的 Pod 的日志,并过滤出具有 unable-access-website 信息的行,然后将
写入到 /opt/KUTR00101/foobar
# 解析
监控pod的日志,使用kubectl logs pod-name
kubectl logs foobar | grep unable-access-website > /opt/KUTR00101/foobar
监控pod度量指标
找出具有 name=cpu-user 的 Pod,并过滤出使用 CPU 最高的 Pod,然后把它的名字写在已
经存在的/opt/KUTR00401/KUTR00401.txt 文件里(注意他没有说指定 namespace。所以需要使
用-A 指定所以 namespace)
# 解析
过滤cpu最高,使用top命令
kubectl top pod -A -l name=cpu-user
echo x >> /opt/KUTR00401/KUTR00401.txt
deployment扩缩容
扩容名字为 loadbalancer 的 deployment 的副本数为 6
# 解析
kubectl scale --replicas=6 deployment loadbancer
检查Node节点的健康状态
检查集群中有多少节点为 Ready 状态,并且去除包含 NoSchedule 污点的节点。之后将数字
写到/opt/KUSC00402/kusc00402.txt
# 解析
查看节点ready状态,只需要get直接查就行
而要查调度,就要使用describe来查
kubectl get node | grep -i Ready
kubectl describe node | grep Taint | grep NoSchedule
echo x > /opt/KUSC00402/kusc00402.txt
节点维护
将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pod
设置不可用,就是将节点设置不可调度,使用cordon
kubectl cordon ek8s-node-1
重新调度
指定节点部署
创建一个 Pod,名字为 nginx-kusc00401,镜像地址是 nginx,调度到具有 disk=spinning 标
签 的 节 点 上
# 解析
vim pod-ns.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-kusc00401labels:role: nginx-kusc00401
spec:nodeSelector:disk: spinningcontainers:- name: nginximage: nginx
一个pod多个容器
创建一个 Pod , 名 字 为 kucc1 ,这个 Pod 可能包含 1-4 容 器 , 该 题 为 四 个 :
nginx+redis+memcached+consul
apiVersion: v1
kind: Pod
metadata:name: kucc1
spec:containers:- image: nginxname: nginx- image: redisname: redis- image: memcachedname: memcached- image: consulname: consul
单题目
监控pod日志
监控名为 foobar 的 Pod 的日志,并过滤出具有 unable-access-website 信息的行,然后将
写入到 /opt/KUTR00101/foobar
监控pod度量指标
找出具有 name=cpu-user 的 Pod,并过滤出使用 CPU 最高的 Pod,然后把它的名字写在已
经存在的/opt/KUTR00401/KUTR00401.txt 文件里(注意他没有说指定 namespace。所以需要使
用-A 指定所以 namespace)
deployment扩缩容
扩容名字为 loadbalancer 的 deployment 的副本数为 6
检查node节点的健康状态
检查集群中有多少节点为 Ready 状态,并且去除包含 NoSchedule 污点的节点。之后将数字
写到/opt/KUSC00402/kusc00402.txt
节点维护
将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pod
指定节点部署
创建一个 Pod,名字为 nginx-kusc00401,镜像地址是 nginx,调度到具有 disk=spinning 标
签 的 节 点 上
一个pod多个容器
创建一个 Pod , 名 字 为 kucc1 ,这个 Pod 可能包含 1-4 容 器 , 该 题 为 四 个 :
nginx+redis+memcached+consul
kubectl练习
logs
打印pod或指定资源中容器的日志
如果pod只有一个容器,则容器名称是可选的
# 仅使用一个容器从pod nginx返回快照日志
kubectl logs nginx
# 使用多容器从pod nginx 返回快照日志
kubectl logs nginx --all-containers=true
# 从标签app=nginx定义的pod中的所有pod容器返回快照日志
kubectl logs -l app=nginx --all-containers=true
# 从pod web-1返回以前终止的ruby容器日志的快照
kubectl logs -p -c ruby web-1
# 开始从标签app=nginx定义的pod中的所有容器流式传输日志
kubectl logs -f -l app=nginx --all-containers=true
# 在pod nginx中显示最近的20行
kubectl logs --tail=20 nginx
# 显示过去一小时内写入的pod nginx中的所有日志
kubectl logs --since=1h nginx
# 显示服务证书已过期的kubelet中的日志
kubectl logs --insecure-skip-tls-verify-backend nginx
# 从名为hello的作业的第一个容器返回快照日志
kubectl logs job/hello
# 从名为nginx的部署的容器nginx-1返回快照日志
kubectl logs deployment/nginx -c nginx-1
top
显示资源使用情况
运行查看node或pod的资源情况
前置条件:需要正确配置metrics server在服务器上工作
node
# 获取所有node
kubectl top node
# 查看指定节点指标
kubectl top node node-name
pod
# 显示默认命名空间的pod指标
kubectl top pod
# 显示指定命名空间的所有pod指标
kubectl top pod --namespace=namespacename
# 显示更定pod及其容器的指标
kubectl top pod pod-name --containers
# 显示name=mylabel定义的pod的指标
kubectl top pod -l name=mylabel
scale
部署 deployment,replicaset replication controller,statefulset
如果指定了 --current-replicas或 --resource-version,则在尝试缩放之前对其进行验证,并保证在将缩放发送到服务器时条件成立
# 将replicaset缩放3
kubectl scale --replicas=3 rs/foo
# 将foo.yaml中缩放为3
kubectl scale --replicas=3 -f foo.yaml
# 如果名为Mysql的当前为2,变为3
kubectl scale --current-replicas=2 --replicas=3 deployment/mysql
# 扩展多个rc
kubectl scale --replicas=5 rc/foo rc/bar rc/baz
# 扩展statefulset为3
kubectl scale --replicas=3 statefulset/web
cordon
将节点标记为不可调度,node级别
kubectl cordon foo
drain
排空节点准备维护
容忍(taint)和污点(toleration)
taint和toleration
taint在一类服务器上打上污点,让不能容忍这个污点的pod不能部署在打了污点的服务器上
toleration是让pod容忍节点上配置的污点,可以让一些需要特殊配置的pod能够调用到具有污点和特殊配置的节点上
污点像锁node级别,容忍像钥匙pod级别
taint配置解析
创建一个污点
kubectl taint nodes node-name taint_key=taint_value:effect
kubectl taint nodes k8s-node01 ssd=true:prefernoschedule
NoSchedule:禁止调度到该节点,已经在该节点上的pod不受影响
NoExecute:禁止调度到该节点,如果不符合这个污点,会立马被驱逐(或在一段时间后)
PreferNoSchedule:尽量避免将pod调度到指定的节点上,如果没有更合适的节点,可以部署到该节点
将pod指派给节点
与节点标签匹配的nodeSelector
亲和性和反亲和性
nodeName字段
Pod拓扑分布约束
相关文章:
cka从入门到放弃
无数次想放弃,最后选择了坚持 监控pod日志 监控名为 foobar 的 Pod 的日志,并过滤出具有 unable-access-website 信息的行,然后将 写入到 /opt/KUTR00101/foobar # 解析 监控pod的日志,使用kubectl logs pod-name kubectl logs…...
通过 jekyll 构建 github pages 博客实战笔记
jekyll 搭建教程 jekyll 搭建教程 Gem 安装 Ruby,请访问 下载地址。 Jekyll Jekyll 是一个简单且具备博客特性的静态网站生成器。 Jekyll 中文文档 极客学院中文文档 使用以下命令安装 Jekyll。 $ gem install jekyll在中国可能需要使用代理软件。然后ÿ…...
【AI美图】第09期效果图,AI人工智能汽车+摩托车系列图集
期待中的未来AI汽车 欢迎来到未来的世界,一个充满创新和无限可能的世界,这里有你从未见过的科技奇迹——AI汽车。 想象一下,你站在十字路口,繁忙的交通信号灯在你的视线中闪烁,汽车如潮水般涌来,但是&…...
网线的制作集线器交换机路由器的配置--含思维导图
🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 一、网线的制作 1、网线的材料有哪些? 网线 网线是一种用于传输数据信号的电缆,广泛应…...
LLM微调(四)| 微调Llama 2实现Text-to-SQL,并使用LlamaIndex在数据库上进行推理
Llama 2是开源LLM发展的一个巨大里程碑。最大模型及其经过微调的变体位居Hugging Face Open LLM排行榜(https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)前列。多个基准测试表明,就性能而言,它正在接近GPT-3.5…...
柔性数组(结构体成员)
目录 前言: 柔性数组: 给柔性数组分配空间: 调整柔性数组大小: 柔性数组的好处: 前言: 柔性数组?可能你从未听说,但是确实有这个概念。听名字,好像就是柔软的数…...
C#合并多个Word文档(微软官方免费openxml接口)
g /// <summary>/// 合并多个word文档(合并到第一文件)/// </summary>/// <param name"as_word_paths">word文档完整路径</param>/// <param name"breakNewPage">true(默认值),合并下一个…...
MySQL 5.7依赖的软件包和下载地址
yum install ncurses-devel openssl openssl-devel gcc gcc-c ncurses ncurses-devel bison make -y mysql下载地址 下载地址...
图论 | 网络流的基本概念
文章目录 流网路残留网络增广路径割最大流最小割定理最大流Edmonds-Karp 算法算法步骤程序代码时间复杂度 流网路 流网络: G ( V , E ) G (V, E) G(V,E) 有向图,不考虑反向边s:源点t:汇点 c ( u , v ) c(u, v) c(u,v)ÿ…...
【音视频 | AAC】AAC音频编码详解
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
redis基本用法学习(C#调用NRedisStack操作redis)
redis官网文档中推荐C#中使用NRedisStack包连接并操作redis,本文学习C#调用NRedisStack操作redis的基本方式。 新建Winform项目,在Nuget包管理器中搜索并安装NRedisStack包,如下图所示: 主要调用StackExchange.Redis命名空间下…...
[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
文章目录 前言小结 原文地址:https://blog.csdn.net/qq_45752541/article/details/132854115 前言 mesh 和点是最常见的3D场景表示,因为它们是显式的,非常适合于快速的基于GPU/CUDA的栅格化。相比之下,最近的神经辐射场…...
【SpringBoot快速入门】(4)SpringBoot项目案例代码示例
目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven,详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例,上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动,从这一节开…...
Linux服务器 部署飞书信息发送服务
项目介绍: 飞书信息发送服务是指将飞书信息发送服务部署到一个Linux服务器上。飞书是一款企业级的即时通讯和协作工具,支持发送消息给飞书的功能。通过部署飞书信息发送服务,可以方便内网发送信息给外网飞书。 项目代码结构展示: …...
用C#也能做机器学习?
前言✨ 说到机器学习,大家可能都不陌生,但是用C#来做机器学习,可能很多人还第一次听说。其实在C#中基于ML.NET也是可以做机器学习的,这种方式比较适合.NET程序员在项目中集成机器学习模型,不太适合专门学习机器学习&a…...
Python PDF格式转PPT格式
要将PDF文件转换为PPT,我实在python3.9 环境下转成功的,python3.11不行。 需要 pip install PyMuPDF代码说话 # -*- coding: utf-8 -*-""" author: 赫凯 software: PyCharm file: xxx.py time: 2023/12/21 11:20 """im…...
搭建知识付费平台?明理信息科技为你提供全程解决方案
明理信息科技saas知识付费平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和维护…...
漫谈UNIX、Linux、UNIX-Like
漫谈UNIX、Linux、UNIX-Like 使用了这么多年Redhat、Ubuntu等Linux、Windows、Solaris操作系统,你是否对UNIX、Unix-Like(类UNIX)还是不太清楚?我以前一直认为Unix-Like就等于Linux。其实,由UNIX派生出来而没有取得UN…...
Netty Review - Netty与Protostuff:打造高效的网络通信
文章目录 概念PrePomServer & ClientProtostuffUtil 解读测试小结 概念 Pre 每日一博 - Protobuf vs. Protostuff:性能、易用性和适用场景分析 Pom <dependency><groupId>com.dyuproject.protostuff</groupId><artifactId>protostuff-…...
在ClickHouse数据库中启用预测功能
在这篇博文中,我们将介绍如何将机器学习支持的预测功能与 ClickHouse 数据库集成。ClickHouse 是一个快速、开源、面向列的 SQL 数据库,对于数据分析和实时分析非常有用。该项目由 ClickHouse, Inc. 维护和支持。我们将探索它在需要数据准备以…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
