07:Kubectl 命令详解|K8S资源对象管理|K8S集群管理(重难点)

Kubectl 命令详解|K8S资源对象管理|K8S集群管理

  • kubectl管理命令
    • kubectl get 查询资源
    • 常用的排错命令
    • kubectl run 创建容器
  • POD原理
    • pod的生命周期
  • k8s资源对象管理
    • 资源文件
    • 使用资源文件管理对象
      • Pod资源文件
      • deploy资源文件
  • 集群调度的规则
    • 扩容与缩减
    • 集群更新与回滚
    • 集群调度

kubectl管理命令

在这里插入图片描述

是用于控制k8s集群的命令行工具
语法格式:

kubectl [command] [TYPE] [NAME] [flags]command : 子命令 如create get describe delete TYPE: 资源类型,可以表示为单数、复数或缩写形式name: 资源的名称,如果省略,则显示所有资源信息flags: 指定可选标志 或附加的参数

kubectl get 查询资源

  • get nodes 查询节点状态
  • get deployment 查询资源名称
  • get componentstatuses 组键的状态
    在这里插入图片描述
    在这里插入图片描述
    这个名称空间相当于每个盘 pod相当于目录
    在这里插入图片描述
    在这里插入图片描述

常用的排错命令

  • kubectl describe 资源类型 资源名称
  • 查看资源信息信息
    在这里插入图片描述
  • kubectl logs 容器名称
    • 查看console 终端的输出信息
    • 为空是正常现象 表示没有日志输出
      在这里插入图片描述
      在这里插入图片描述

kubectl run 创建容器

kubectl run 资源名称 -i -t --image=私有仓库镜像名称:标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

POD原理

在这里插入图片描述
在这里插入图片描述

pod的生命周期

无限运行周期 有限运行周期
在这里插入图片描述
在这里插入图片描述

– 选项终止符号
rm -rf – -f

删除得从上往下删除
在这里插入图片描述

通过资源文件的创建的容器 也可以通过资源文件的方式删除
在这里插入图片描述
在这里插入图片描述

k8s资源对象管理

资源文件

k8s通过RC/RS管理POD,在RC中定义了如何启动POD,如何运行,启用几副本等功能,如果我们创建的文件,在其中使用yaml的语法格式描述了上面的信息,这个文件就是我们的资源对象文件
资源对象文件有什么用?

  • 可以创建、删除、管理资源对象
  • 很多高级的复杂的功能靠简单的命令方式无法实现,这些都需要使用资源文件描述

使用资源文件管理对象

  • create 创建资源对象
  • apply 声明更新资源对象 可以多次执行
  • delete 删除资源对象
kubectl (apply|create|delete) -f 资源文件

Pod资源文件

在这里插入图片描述

deploy资源文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

集群调度的规则

扩容与缩减

[root@master ~]# kubectl get deployments.apps
[root@master ~]# kubectl scale deployment myapache --replicas=3 # 增加3个myapache
[root@master ~]# kubectl get deployments.apps

集群更新与回滚

在这里插入图片描述

[root@master config]# kubectl rollout history deployment myapache

在这里插入图片描述

[root@master ~]# curl http://10.244.3.5
this is apache
[root@master ~]# kubectl edit deployments.apps myapache 修改配置文件镜像为nginx
[root@master ~]# curl http://10.244.2.6
this is nginx 
[root@master ~]# kubectl rollout history deployment myapache

在这里插入图片描述

# 回滚版本到1
[root@master ~]# kubectl rollout undo deployment myapache --to-revision=1
[root@master ~]# curl http://10.244.3.6
this is apache

集群调度

容器创建是随机的,如何选择固定的宿主机?
使用nodeName标签根据节点名称选择宿主机

spec:  # POD.SPEC标签nodeName:node-0001 	# 直接指定node主机名称 ,简单粗暴
# 注意 如果添加了选择标签 但无法使用该主机 pod将一直处于Pending状态 

如何使用一类宿主机?

  • 需要提前为目标主机打上特定的标签(可以是多台)
  • 在资源文件中根据标签选择宿主机(更加灵活)
spec: # POD.SPEC标签nodeSelector: # 标签选择disktype:ssd # node 表情

在这里插入图片描述
在这里插入图片描述
打标签的格式
在这里插入图片描述
删除标签

kubectl label pod myapache-7b689bf8f-5sczz key-

基于标签的调度

[root@master ~]# kubectl label nodes node-0002 node-0003 disktype=ssd
node/node-0002 labeled
node/node-0003 labeled
[root@master ~]# vim myhttpd.yaml 
---
kind: Pod
apiVersion: v1
metadata:name: myhttpdlabels:app: apache
spec:terminationGracePeriodSeconds: 0restartPolicy: AlwaysnodeSelector: # 修改后的disktype: ssd # 修改后的containers:- name: apacheimage: myos:httpdimagePullPolicy: IfNotPresentports:- protocol: TCPcontainerPort: 80[root@master ~]# kubectl get pods -o wide
NAME      READY   STATUS    RESTARTS   AGE   IP            NODE
myhttpd   1/1     Running   0          29m   10.244.3.80   node-0003
web1      1/1     Running   0          10s   10.244.2.60   node-0002
web2      1/1     Running   0          10s   10.244.3.82   node-0003
web3      1/1     Running   0          10s   10.244.2.61   node-0002
web4      1/1     Running   0          10s   10.244.2.62   node-0002
web5      1/1     Running   0          10s   10.244.3.81   node-0003
[root@master ~]# kubectl label nodes node-0002 node-0003 disktype- # 标签还原
~~~![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/02582d06f48b44a1a885e8663626ec14.png#pic_center)

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql-Explain-使用说明

Explain 说明 explain SELECT * FROM tb_category_report;id:SELECT识别符,这是SELECT查询序列号。select_type:表示单位查询的查询类型,比如:普通查询、联合查询(union、union all)、子查询等复杂查询。table&#x…

[设计模式Java实现附plantuml源码~行为型]请求的链式处理——职责链模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测 目录 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预…

YOLOv8改进 | 利用训练好权重文件计算YOLOv8的FPS、推理每张图片的平均时间(科研必备)

一、本文介绍 本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量…

极致成本,如何基于容器计算服务 ACS 打造企业级幻兽帕鲁私服 SaaS 服务?

作者:韩运韬(青炽) 《幻兽帕鲁》是一款最近大热的开放世界生存游戏。据报道。上市不到一周,《幻兽帕鲁》销量已突破 700 万份,成为名副其实的现象级游戏。根据游戏数据库网站 SteamDB 的数据显示,《幻兽帕…

QTabWidget和QTabBar控件样式设置(qss)

QTabWidget和QTabBar控件样式设置 1、QTabWidget样式可自定义的有哪些示例:效果图 2、QTabBar样式可自定义的有哪些示例效果图 1、QTabWidget样式可自定义的有哪些 QTabWidget::pane{} 定义tabWidgetFrameQTabWidget::tab-bar{} 定义TabBar的位置QTabWidget::tab{}定…

性能篇:如何解决高并发下 I/O 瓶颈?

我们可以有效地解决高并发下I/O瓶颈的问题,提升系统的性能。当然,实际场景中的优化可能涉及到更多的细节和技术,但希望这篇文章能为大家提供一些思路和方法。​ 引言 大家好,我是小米!今天我们来聊一个在高并发场景…

【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战

Netty强大特性之Native transports技术原理分析 背景介绍JNI概念介绍不同平台的JNI实现 使用Native transports库Maven的分类器(Classifier)使用Linux native transport使用MacOS/BSD native transport库构建native transport库Linux版本要求MacOS/BSD版…

制度下降算法c语言

#include<stdio.h> #include<string.h> int location0; //遍历字符串的当前位置 char arr[20]"idid*id#"; void error(); //错误提示函数 /* 每一个非终结符都构造一个函数 */ void E(char t); void Ep(char t); void T(char t); void Tp(char t);…

Python 线性回归可视化 并将回归函数放置到图像上

import matplotlib.pyplot as plt import scipy import seaborn as sns# 加载内置的数据集 df sns.load_dataset(tips)#create regplot p sns.regplot(xtotal_bill, ytip, datadf)#calculate slope and intercept of regression equation slope, intercept, r, p, sterr sci…

基于BatchNorm的模型剪枝【详解+代码】

文章目录 1、BatchNorm&#xff08;BN&#xff09;2、L1与L2正则化2.1 L1与L2的导数及其应用2.2 论文核心点 3、模型剪枝的流程 ICCV经典论文&#xff0c;通俗易懂&#xff01;论文题目&#xff1a;Learning Efficient Convolutional Networks through Network Slimming卷积后能…

《动手学深度学习(PyTorch版)》笔记7.6

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

CC工具箱使用指南:【获取字段的所有唯一值】

一、简介 这个工具的目的是获取选定要素图层的字段的所有唯一值。 一般就是用于查看&#xff0c;比如说看一下规划用地有多少种地类&#xff0c;都是哪些地类。 二、工具参数介绍 点击【信息获取】组里的【获取字段的所有唯一值】工具&#xff1a; 即可打开下面的工具框界面…

Codeforces Round 923 (Div. 3)E. Klever Permutation 找规律,有共同区间

Problem - E - Codeforces 目录 Source of idea: 思路&#xff1a; 代码&#xff1a; 另一个up的找规律的解法&#xff1a; Source of idea: Codeforces Round 923(A-F题解) - 哔哩哔哩 (bilibili.com) 思路&#xff1a; 上面up分析的很好。两个相邻区间也就端点不一样&…

干货总结!Dockerfile编写优秀实践

Dockerfile 优秀实践 1. 善用.dockerignore文件 Docker 是CS架构&#xff0c;这就意味着 Client 和 Server 可以在不同的主机上。在构建镜像的时候&#xff0c;Client 会把所有需要的文件打包发送给 Server&#xff0c;这些发送的文件叫做 build context 默认情况下&#xf…

深度学习的新进展:解析技术演进与应用前景

深度学习的新进展&#xff1a;解析技术演进与应用前景 深度学习&#xff0c;作为人工智能领域的一颗璀璨明珠&#xff0c;一直以来都在不断刷新我们对技术和未来的认知。随着时间的推移&#xff0c;深度学习不断迎来新的进展&#xff0c;这不仅推动了技术的演进&#xff0c;也…

百面嵌入式专栏(面试题)C语言面试题22道

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍C语言相关面试题 。 宏定义是在编译的哪个阶段被处理的?答案:宏定义是在编译预处理阶段被处理的。 解读:编译预处理:头文件包含、宏替换、条件编译、去除注释、添加行号。 写一个“标准”宏MIN,这个…

FPGA高端项目:解码索尼IMX327 MIPI相机转USB3.0 UVC 输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX327 及其配置MIPI CSI RX图像 ISP 处理图像缓存UVC 时序USB3.0输出架构FPGA逻辑设计工程源码架构SDK软件工程源…

2023年ABC123公众号年刊下载(PDF电子书)

Part1 前言 大家好&#xff0c;我是ABC_123。2023年公众号正式更名为"希潭实验室"。除了分享日常红队攻防、渗透测试技术文章之外&#xff0c;重点加强了APT案例分析方面的内容。公众号关注度得到进一步提升&#xff0c;关注人数已达到3万5千人。原计划在2023年编写…

统一身份认证系统架构设计与实践总结

随着互联网的快速发展和应用的普及&#xff0c;人们在各个网站和应用上需要不同的账号和密码进行身份认证。为了解决这个问题&#xff0c;统一身份认证系统应运而生。本文将总结统一身份认证系统的架构设计与实践经验&#xff0c;帮助读者了解如何设计和实现一个高效、安全的统…