K8S陈述式资源管理(1)

命令行: kubectl命令行工具

优点: 90%以上的场景都可以满足对资源的增,删,查比较方便,对改不是很友好

缺点:命令比较冗长,复杂,难记声明式

声明式:K8S当中的yaml文件来实现资源管理

GUI:图形化工具的管理

kubectl命令的详解

查看  部署  查看pod的情况(详细信息和日志,发布和回滚)

Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区

查看k8s版本信息

kubectl version

查看K8S资源当中,所有资源对象的名称以及简写

kubectl api-resources

查看K8S集群信息

kubectl cluster-info

source <(kubectl completion bash)

查看MASTER节点的状态(基本信息查看)

kubectl get cs

查看默认命名空间default内的pod的信息

kubectl get pod

查看当前集群所有的命名空间

kubectl get ns

查看指定命名空间内的pod,需要加 -n+命名空间的名称

kubectl get pod -n kube-system

查看默认命名空间内pod的详细信息

kubectl get pod -o wide

查询节点信息和状态

kubectl get node

查看node节点的详细信息

kubectl get node -o wide

查看已经部署好的pod的详细信息

kubectl get pod

kubectl describe pod nginx-6799fc88d8-f9c8g

kubectl describe pod -n kube-system etcd-master01

查看pod输出的日志

kubectl logs nginx-6799fc88d8-f9c8g    一次性查看

kubectl logs -f nginx-6799fc88d8-f9c8g  动态查看

kubectl logs -f etcd-master0l -n kube-system

创建一个命名空间

kubectl create ns abc

查看命名空间

kubectl get ns

删除命名空间

kubectl delete ns abc

kubectl delete pod nginx-6799fc88d8-f9c8g -n 命名空间

kubectl get pod会发现nginx-6799fc88d8-f9c8g没有被删除(基于deployment进行部署的原因)

pod的部署:

deployment的部署pod

陈述式部署:命令行

声明式:yaml文件部署

滚动更新:不是一次性的把所有pod全部部署,而是一个个来。pod的更新时使用。逐步的引入新的pod,逐步的减少旧的pod

自我修复:如果有pod节点发生故障,deployment会自动更新新的pod来进行代替

回滚:如果更新有问题,deployment会提供还原点,可以手动的还原到未更新前的状态

扩容和缩容:deployment可以随时调整pod的数量,以适应流量的变化

上述的功能必须是基于deployment创建的服务才可以

daemonset不能通过命令行创建,只能通过yaml文件中定义这种创建方式

后台运行创建,在每个节点上都创建一个相同方式的、相同版本的容器运行的pod

一般都是依赖环境和重要组件,一般也不会对这些资源进行操作

如果基于deployment方式创建的pod,或者daemonset方式创建的pod,是由控制器创建的pod,使用delete是删不掉的,相当于重启pod

kubectl delete deployments.apps nginx-fmh -n abc

#基于deployment方式创建pod,一旦删除deployment,基于deployment创建的pod都会被删除。慎用

不是基于控制器创建的,会被直接删除

kubectl delete pod nginx-dn-6d6cd9c7c5-j7ffr --force --grace-period=0

grace-period:表示过度存活期。默认30秒。可以让pod优雅的结束容器内的进程,然后退出pod

grace-period=0表示立刻终止pod。必须要force

主要是用于结束卡在销毁状态的pod

对deployment创建的pod进行扩缩容

kubectl scale deployment nginx-fmh --replicas=3  扩容

kubectl scale deployment nginx-fmh --replicas=1  缩容

创建pod时并没有指定副本数,后续也可以对他的副本数进行修改

如何把服务的service进行发布?

kubectl get pod

service类型

kubectl get service/svc

kubectl delete svc nginx  删除service

kubectl get svc -n kube-system

TYPE类型:

ClusterIP  创建service的默认类型,提供一个集群内部的虚拟IP地址,这是service的默认类型。通过这个虚拟ip可以直接访问pod的资源,无法对外提供访问。

NodePort:会在每个node节点上开放相同的端口。外部可以通过node的本机IP+端口,访问pod资源。集群外部访问service资源的一种方式。四层代理的方式

nodeip:nodeport。随即指派,也可以指定(端口范围30000 --- 32767)

基于deployment创建的pod可以使用这种方式

kubectl deployment nginx --port=80 ==target-port=80 --name=nginx-service --type=NodePort

10.96.232.240 集群内部的ip地址,外部是不可以访问这个ip地址的.

80:对应的是内部的service的端口

32436: 和内部的service的80端口做映射

LoadBalancer: 如果service的类型设定为LoadBalancer映射地址(云平台提供LoadBalancer的地址) 这种用法仅用于公有云服务供应商在云台上设置的service的场景。外部来访问实现负载均衡。LoadBalancer这个是地址是要付费的。

创建好了service,指定类型为LoadBalancer,会给你提供一个地址来带代理pod内部的ip地址

ExternalName: DNS映射,给service分配一个域名,通过域名来访问后端pod资源。ExternalName的service类型不能提供负载均衡。必须要设置一个LoadBalancer的地址才可以实现

数字的大小决定了距离上次操作的远近,数字越大,就是你最近的一次操作

kubectl set image deployment nginxl nginx=nginx:1.15 --record

kubectl rollout history deployment nginxl

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

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

相关文章

第九节HarmonyOS 常用基础组件7-RichText

1、描述 富文本组件&#xff0c;解析并显示HTML格式文本。 富文本&#xff08;RichText&#xff09;是一种特殊的文本格式&#xff0c;它比普通文本更加丰富多彩。富文本可以包含各种字体、颜色、大小、图像、链接、表格、视频等元素&#xff0c;使文本更加生动、有趣。 2、…

【elastic search】下载安装、使用教程

目录 1.下载安装 1.1.ES&Kibana 1.2.分词器 2.操作 2.1.索引操作 2.1.1.索引的新增、删除、查找 2.1.2.数据类型 2.1.3.结构化 2.2.文档操作 2.2.1.文档的增、删、改 2.2.2.文档的查询 2.2.3.聚合操作 1.下载安装 1.1.ES&Kibana Kibana是一个开源的数据可…

OpenHarmony如何隐藏系统状态栏、导航栏

前言 OpenHarmony源码版本&#xff1a;4.0release 开发板&#xff1a;DAYU / rk3568 一、通过setWindowSystemBarEnable方法设置 当我们应用的Alility继承的是UIAbility时&#xff0c;可以onWindowStageCreate(windowStage: window.WindowStage)方法中实现如下操作&#xf…

【AI】搭建Windows Linux子系统(WSL2)CUDA环境

0.准备工作 Windows本机安装CUDA Driver 首先去下载页面下载驱动文件 点击Get CUDA Driver进入下载页面&#xff0c;我看下载页面跟普通驱动下载页面相同&#xff0c;感觉应该不是单独的驱动&#xff0c;只要之前显卡已经安装好了CUDA的驱动&#xff0c;就可以先省略这一步。…

spi_2024.1.2

spi.h #ifndef __SPI_H__ #define __SPI_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h"#include"uart4.h" #include"key_it.h" // MOSI对应的引脚输出高低电平的信号PE14 #define MOSI_OUTPUT_H() do{GPIOE->O…

手写视频裁剪框

<!-- 截取框 --><divv-show"isShow"class"crop-box":style"{width: cropWidth px,height: cropHeight px,left: cropX px,top: cropY px,}"ref"cropBox"mousedown"startInteraction"><!-- 内容在这里 --…

【AI视野·今日CV 计算机视觉论文速览 第280期】Mon, 1 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Mon, 1 Jan 2024 Totally 46 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Learning Vision from Models Rivals Learning Vision from Data Authors Yonglong Tian, Lijie Fan, Kaifeng Chen, Dina K…

二、类与对象(四)

22 内部类 22.1 内部类的概念 如果一个类定义在另一个类的内部&#xff0c;这个类就叫做内部类。内部类是一个独立的类&#xff0c;它不属于外部类&#xff0c;更不能通过外部类的对象去访问内部类的成员&#xff0c;外部类对内部类没有任何优越的访问权限&#xff0c;也就是…

LINUX基础培训之开机启动过程

前言、本章学习目标 掌握系统启动、引导过程 了解grub.conf的参数设置 熟悉系统运行级别 了解加载内核过程 一、LINUX启动引导过程 Linux系统的启动过程并不是大家想象中的那么复杂&#xff0c;其过程可以分为5个阶段&#xff1a; 1.开机自检 服务器主机开机以后&#xf…

Spring Beans的魔法门:解密多种配置方式【beans 四】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Spring Beans的魔法门&#xff1a;解密多种配置方式【beans 四】 前言XML配置方式1. 声明和配置Bean&#xff1a;2. 构造函数注入&#xff1a;3. 导入其他配置文件&#xff1a; java注解方式1. 使用Co…

算法训练营Day35

#Java #动态规划 开源学习资料 Feeling and experiences&#xff1a; 不同路径&#xff1a;力扣题目链接 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右…

MyBatisPlus学习三:Service接口、代码生成器

学习教程 黑马程序员最新MybatisPlus全套视频教程&#xff0c;4小时快速精通mybatis-plus框架 Service接口 简介 在MyBatis-Plus框架中&#xff0c;Service接口的作用是为实体类提供一系列的通用CRUD&#xff08;增删改查&#xff09;操作方法。通常情况下&#xff0c;Servi…

PyTorch 入门学习数据操作之创建

简介 在深度学习中&#xff0c;我们通常会频繁地对数据进行操作&#xff1b;要操作一般就需要先创建。 官方介绍 The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it pr…

SpringMVC通用后台管理系统源码

整体的SSM后台管理框架功能已经初具雏形&#xff0c;前端界面风格采用了结构简单、 性能优良、页面美观大的Layui页面展示框架 数据库支持了SQLserver,只需修改配置文件即可实现数据库之间的转换。 系统工具中加入了定时任务管理和cron生成器&#xff0c;轻松实现系统调度问…

【源码解析】Apache RocketMQ发送消息源码

send message源码解析 引入 send message方法作为我们经常使用的方法&#xff0c;平时我们很难去关注他底层到底做了什么。大部分人只知道通过send message方法可以将消息发送到broker&#xff0c;然后供消费者进行消费。其实不然&#xff0c;消息从客户端发送到broker&#x…

ssm基于vue.js的购物商场的设计与实现论文

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装购物商场软件来发挥其高效地信息处理的作用&#xff0c;可以…

cissp 第10章 : 物理安全要求

10.1 站点与设施设计的安全原则 物理控制是安全防护的第一条防线&#xff0c;而人员是最后一道防线。 10.1.1 安全设施计划 安全设施计划通过关键路径分析完成。 关键路径分析用于找出关键应用、流程、运营以及所有必要支撑元索间的关系。 技术融合指的是各种技术、解决方案…

性能优化-OpenMP基础教程(三)

本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &…

书生·浦语大模型全链路开源体系 学习笔记 第一课

背景 大模型是发展人工通用人工智能的一个重要途径&#xff0c;能够解决多种任务和多种模态&#xff0c;展示了一个更面向更高阶的智能的潜在途径。大模型的发展历程是从专用模型到通用模型的过程&#xff0c;从语音识别、图像识别、人脸识别等专用模型&#xff0c;到通用的大…

Java8内置四大核心函数式接口

先来看几个例子,主要练习策略模式: 用策略模式的做法 定义个接口 其实像这样的接口并不需要我们自己创建 java8推出的Lambda表达式主要就是为了简化开发,而Lambda表达式 的应用主要是针对与函数式接口,自然也推出了对应的一些接口 /*** Java8 内置的四大核心函数式接口** C…