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拓扑分布约束

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

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

相关文章

OSPF面试总结

OSPF 基本特点 属于IGP、LS支持无类域间路由没有环路(区域内运行LS、区域间是DV,所以所有的区域要和区域0相连)收敛速度快使用组播发送数据 224.0.0.5、224.0.0.6 什么时候用224.0.0.5?支持多条等价路由支持协议报文认证 OSPF路由的计算过程…

Pytorch:torch.nn.utils.clip_grad_norm_梯度截断_解读

torch.nn.utils.clip_grad_norm_函数主要作用: 神经网络深度逐渐增加,网络参数量增多的时候,容易引起梯度消失和梯度爆炸。对于梯度爆炸问题,解决方法之一便是进行梯度剪裁torch.nn.utils.clip_grad_norm_(&#xff09…

CMD中文名称修改

会引发的问题 1. jupyter notebook运行出现Bad file descriptor (bundled\zeromq\src\epoll.cpp:100) 2. 用Anaconda或pycharm运行jupyter notebook时候,创建ipynb文件没一会儿就开始报错,且没法运行代码 3. 使用opencv时报错,opencv不支持中文路径&…

Python 爬虫之下载视频(二)

爬取某Y的视频链接和标题 文章目录 爬取某Y的视频链接和标题前言一、基本思路二、程序解析阶段三、程序处理阶段总结 前言 这篇内容就简单给大家写个如何从网页上爬取某B主 主页 页面上所有的视频链接和视频标题。 这篇是基础好好看,下篇会根据这篇的结果做一个批…

如何开发专属花店展示平台小程序?

如今,微信小程序已经成为了花店行业拓展客户资源的重要工具。通过开发一个专属花店小程序,你可以为自己的花店带来更多的曝光和客户资源。那么,如何开发一个专属花店小程序呢?接下来,我们将一步步为你详细讲解。 首先&…

产能过剩的今天,企业的方向在哪里?

随着经济的发展和技术的进步,许多行业都面临着产能过剩的问题。在产能过剩的背景下,企业如何找到新的发展方向,成为了一个亟待解决的问题。本文将探讨产能过剩时代下,企业应该如何寻找新的发展之路。 接下来我们就来看看当今的产…

共建还是对抗?BTC 铭文风波中开发者、矿工与社区的平衡艺术

近期,比特币铭文正加速进入一场争议与危机的漩涡。12 月 6 日,比特币核心开发人员 Luke Dashjr 在 X 表示,铭文(Inscriptions)正在利用比特币核心客户端 Bitcoin Core 的一个漏洞向区块链发送垃圾信息,Bitc…

MUX VLAN配置

MUX VLAN简介 产生背景 MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。 例如,在企业网络中,企业员工和企业客户可以访问企业的服务器。对于企业来说,希望企业内部员工之间可以互相交流&#…

使用工具类Exectors创建线程池

大型并发项目 不能使用Executors 通过ThreadPoolExector的方式 核心线程配置方式: 计算密集型的任务 核心线程数量 CPU的核数 1 IO密集型的任务 核心线程数量 CPU的核数*2 演示: Callable import java.util.concurrent.Callable;public class MyCallable implements Callab…

R语言贝叶斯网络模型、INLA下的贝叶斯回归、R语言现代贝叶斯统计学方法、R语言混合效应(多水平/层次/嵌套)模型

目录 ㈠ 基于R语言的贝叶斯网络模型的实践技术应用 ㈡ R语言贝叶斯方法在生态环境领域中的高阶技术应用 ㈢ 基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ㈣ 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估…

提升Elasticsearch性能的一些经验

分片查询缓存(Shard Request Cache) ES 层面的缓存实现,封装在 IndicesRequestCache 类中。缓存的 Key 是整个客户端请求,缓存内容为单个分片的查询结果。主要作用是对聚合的缓存,查询结果中被缓存的内容主要包括:Aggregations(聚合结果)、Hits.total、以及 Suggestion…

基于ssm房屋租赁平台的设计与开发论文

摘 要 目前对于在外的人员来说租赁房屋是最基本的问题。对于房屋的租赁可以选择直接找房东、找专业的房屋租赁公司和自己在网上找房屋。自己找房东的问题在于需要时间,而且对于需要提前租赁房屋的需要多次跑到小区,找中介租赁房屋的问题在于费用问题&am…

数据结构---算法的时间复杂度

文章目录 前言计算机重要存储数据结构与算法数据结构概念算法 数据库概念 算法的复杂度时间复杂度概念为什么有时间复杂度大O渐进表示法时间复杂度实例实例1:时间复杂度:O(N)实例2:这里输入参数是不确定的所以 时间复杂…

养老院自助饮水机(字符设备驱动)

目录 1、项目背景 2、驱动程序 2.1 三层架构 2.2 驱动三要素 2.3 字符设备驱动 2.3.1 驱动模块 2.3.2 应用层 3、设计实现 3.1 项目设计 3.2 项目实现 3.2.1 驱动模块代码 3.2.2 用户层代码 4、功能特性 5、技术分析 6. 总结与未来展望 1、项目背景 养老院的老人…

【算法题】3. 无重复字符的最长子串

​题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 例子1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 例子2: 输入: s "b…

研究生课程 |《数值分析》复习

搭配往年真题册食用最佳。

Java_集合进阶Map集合

一、Map集合 1.1 Map概述体系 各位同学,前面我们已经把单列集合学习完了,接下来我们要学习的是双列集合。首先我们还是先认识一下什么是双列集合。 所谓双列集合,就是说集合中的元素是一对一对的。Map集合中的每一个元素是以keyvalue的形式…

mask rcnn训练基于labelme生成的数据集

1.下载mask rcnn源码 此处使用的mask rcnn源码来自于B站博主霹雳吧啦Wz 2.安装labelme sudo apt install python3-pyqt5 pip install labelme如果运行出现QT的错误,可能是与我一样遇到自己装了C版本的QT 解决:运行命令 unset LD_LIBRARY_PATH2.使用lab…

redis主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.编辑3个redis配置 cd /etc mkdir redis-ms cd redis-ms/ vim redis6379.conf vim redis6380.conf vim redis6381.conf# master #端口号 port 6379#设置客户端连接后进行任何其他指定前需要使用的密码 requirepass 12345…

C++基础-拷贝构造函数详解

目录 一、概述 二、拷贝构造函数调用时机 三、构造函数调用规则 四、浅拷贝与深拷贝