K8s陈述式资源管理

news2024/11/24 20:52:03

命令行:kubectl命令行工具

  • 优点:90%以上的场景都可以满足

对资源的增删改查比较方便,对改不是很友好。

  • 缺点:命令比较冗长,复杂,难记

声明式:

看到声明式都是k8s当中的yml文件来实现资源管理。

GUI:

图形化工具

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

相关命令字典:Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区

k8s中基本管理信息的查看

查看k8s的版本

查看k8s的版本
kubectl version

k8s中所有资源对象和资源对象的简写

kubectl api-resource

k8s的集群信息

kubectl cluster-info

查看master节点的状态

kubectl get cs

查看node节点的状态

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

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

kubectl get pod -n kube-system
-n来声明查看指定命名空间的资源

kubectl get pod -o wide 
查看默认命名空间内pod的详细信息

kubectl get pod -n kube-system
-n来声明查看指定命名空间的资源

kubectl get pod -o wide 

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

查看指定命名空间的pod

 kubectl get pod -n kube-system -o wide

kubectl get node
查询节点的信息和状态

kubectl get node -o wide
查看node节点的详细信息

如何查看pod的详细信息

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

kubectl get node
查看


详细查看
kubectl describle pod myapp-hj-567cb4489c-fq2fd

如果查看指定命名空间的内容,一定要加-n,不加则显示默认

如何查看pod内部的日志

kubectl logs -f myapp-hj-567cb4489c-fq2fd


kubectl logs -n kube-system etcd-master01
kubectl create ns zzr

kubectl delete ns zzr

kubectl delete pod myapp-hj-567cb4489c-fq2fd
先声明动作,再跟上对象,最后是对象的名称

pod的部署

deployment的部署pod:

陈述式部署:命令行

声明式:yml文件部署

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

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

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

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

上述的功能必须是基于deployment创建的服务才可以。绝大多数服务都是通过deployment来进行创建的

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

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

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

 kubectl get pod -n zzr


kubectl create deployment nginx-hj --image=nginx --replicas=3 -n zzr

kubectl get pod -n zzr

-n:指定命名空间

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

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

远程进入节点容器

 kubectl exec -it nginx-zzr-6bdd8bcbb5-c5tdv bash

docker的exec只能在本机内使用,不能跨主机,kubectl exec可以跨主机进入容器

kubectl create deployment nginx-zzr --image=nginx --replicas=3 -n zzr

 kubectl exec -it nginx-zzr-6bdd8bcbb5-8ph4k bash -n zzr

 root@nginx-zzr-6bdd8bcbb5-8ph4k:/# echo k8s-nginx > /usr/share/nginx/html/index.html

 root@nginx-zzr-6bdd8bcbb5-8ph4k:/# echo k8s-nginx > /usr/share/nginx/html/index.html

如果有容器一直卡在“销毁”状态:

kubectl delete pod 容器名 --force --grace-period=0

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

=0:立刻停止pod,必须要有force才能实现

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

对deployment创建的pod进行扩容和缩容

 kubectl scale deployment 容器名 --replicas=所需副本数


 kubectl scale deployment myapp-hj --replicas=2

如何把服务的service进行发布

service的类型:

kubectl get svc:查看当前命名空间的service

ClusterIP:

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

NodePort:

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

nodeip:nodeport

随即指派,也可以指定30000-32767

基于deployment的创建方式

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

kubectl get svc
NAME            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.96.0.1      <none>        443/TCP        24h
myapp-zzr       ClusterIP   10.96.38.125   <none>        30000/TCP      20h
nginx-service   NodePort    10.96.181.60   <none>        80:31989/TCP   2s


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

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

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

kubectl expose deployment nginx1 --port=8080 --target-port=80 --name=nginx1-service --type=NodePort

--port=8080:service和容器映射的端口,可以是任意
--target-port=80:容器内部的服务端口

如何实现负载均衡

kubectl edit svc nginx-service
修改nodeport端口。

LoadBalancer:

如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer地址)

公有云服务供应商在云平台上设置的service的场景。外部来访问,实现负载均衡。LoadBalancer这个地址是要付费的。

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

ExternalName:

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

做映射对外提供访问是nodeport

ExternalNmae需要映射

LoadBalancer需要花钱

更新和回滚以及发布的方式:

项目的生命周期:

创建------》发布------》更新-------》回滚------》删除

如何回滚:

查看回滚点:

kubectl rollout history deployment nginx1
数字越大,就是最近的操作

如何给回滚点加表示

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

kubectl rollout undo deployment nginx1 --to-revision=1

如何查看

1.kubectl rollout status deployment nginx1

2.kubectl get pod -w

kubectl rollout history deployment nginx1

kubectl get all
查看所有集群的信息

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

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

相关文章

基于CNN和双向gru的心跳分类系统

CNN and Bidirectional GRU-Based Heartbeat Sound Classification Architecture for Elderly People是发布在2023 MDPI Mathematics上的论文&#xff0c;提出了基于卷积神经网络和双向门控循环单元(CNN BiGRU)注意力的心跳声分类&#xff0c;论文不仅显示了模型还构建了完整的…

无需翻墙|Stable Diffusion WebUI 安装|AI绘画

前言 最近终于有机会从围墙里往外看&#xff0c;了解到外面的世界已经有了天翻地覆的变化&#xff0c;感叹万千&#xff0c;笔者在本地mac&#xff0c;windows&#xff0c;linux&#xff0c;docker部署了不下20遍后&#xff0c;整理出来的linux极简避坑安装方案&#xff0c;供…

一体化、一站式!智能视频客服加码全媒体云呼叫中心能力

凭借对电话、短信、邮件、社交媒体、视频等数种沟通渠道强大的统一集成能力&#xff0c;全媒体云呼叫中心已跃升成为现代企业客户服务的核心工具&#xff0c;高效便捷地为企业提供客户服务。而随着消费者需求愈加多元化和个性化&#xff0c;传统的语音通话方式已无法满足部分消…

雪花算法(Snowflake)介绍和Java实现

1、雪花算法介绍 (1) 雪花算法(SnowFlake)是分布式微服务下生成全局唯一ID&#xff0c;并且可以做到去中心化的常用算法&#xff0c;最早是Twitter公司在其内部的分布式环境下生成ID的方式。 雪花算法的名字可以这么理解&#xff0c;世界上没有两片完全相同的雪花&#xff0c;…

java爬虫(jsoup)如何设置HTTP代理ip爬数据

目录 前言 什么是HTTP代理IP 使用Jsoup设置HTTP代理IP的步骤 1. 导入Jsoup依赖 2. 创建HttpProxy类 3. 设置代理服务器 4. 使用Jsoup进行爬取 结论 前言 在Java中使用Jsoup进行网络爬虫操作时&#xff0c;有时需要使用HTTP代理IP来爬取数据。本文将介绍如何使用Jsoup设…

认识微服务---Spring Cloud

一、服务架构演变 1、单体架构&#xff1a;将业务的所有功能集中在一个项目开发&#xff0c;打包成一个部署。 优点&#xff1a; 架构简单部署成本低 缺点&#xff1a; 耦合度高不利于大型项目开发 2、分布式架构 &#xff1a;根据业务功能对系统进行拆分&#xff0c;每个…

系列十二、Linux中安装Zookeeper

一、Linux中安装Zookeeper 1.1、下载安装包 官网&#xff1a;Index of /dist/zookeeper/zookeeper-3.4.11 我分享的链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/14Hugqxcgp89f2hqGWDwoBw?pwdyyds 提取码&#xff1a;yyds 1.2、上传至/opt目录 1.3、解…

vcpkg 安装开源包 以及 配置 已解决

Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C 库。 这个工具和生态链正在不断发展&#xff0c;我们一直期待您的贡献&#xff01; 若您从未使用过 vcpkg&#xff0c;或者您正在尝试了解如何使用 vcpkg&#xff0c;请查阅 入门 章节。 如需获取有关可用命令的简短…

GPT4All : 便捷易用的本地智能问答推理软件(乱记)

安装与使用 去官网 https://gpt4all.io/index.html下载可执行文件。 打开应用即可看到是否共享数据的选项&#xff1a; 然后自动进入模型下载界面 测试 内存占用 缺点&#xff1a;在我本地的轻薄本上运行时&#xff0c;风扇会有轻微噪声&#xff0c;关闭软件很久都没停止。…

基于 Vue3 和 WebSocket 实现的简单网页聊天应用

首先附上项目介绍,后面详细解释技术细节 1. chat-websocket 一个基于Vue3和WebSocket的简易网络聊天室项目&#xff0c;包括服务端和客户端部分。 项目地址 websocket-chat 下面是项目的主要组成部分和功能&#xff1a; 项目结构 chat-websocket/ |-- server/ # WebSocket 服…

图像分割实战-系列教程1:语义分割与实例分割概述

1、图像分割任务概述 1.1 图像分割 分割任务就是在原始图像中逐像素的找到你需要的轮廓 如图分别是&#xff08;物体检测&#xff09;与&#xff08;图像分割&#xff09;两个任务的效果对比&#xff0c;实际上会比检测任务要稍微麻烦一些&#xff0c;将图像会分为几个区域把…

Windows上ModbusTCP模拟Master与Slave工具的使用

场景 Modbus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用&#xff1a; Modebus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用_modbus poll激活-CSDN博客 数据对接协议为Modbus TCP,本地开发需要使…

数据加密、端口管控、行为审计、终端安全、整体方案解决提供商

PC端访问地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是关于这几个概念的解释&#xff1a; 数据加密&#xff1a;这是一种通过加密算法和密钥将明文转换为密文&#xff0c;以及通过解密算法和解密密钥将密文恢复为明文…

树莓派 ubuntu20.04下 python调讯飞的语音API,语音识别和语音合成

目录 1.环境搭建2.去讯飞官网申请密钥3.语音识别&#xff08;sst&#xff09;4.语音合成&#xff08;tts&#xff09;5.USB声卡可能报错 1.环境搭建 #环境说明&#xff1a;(尽量在ubuntu下使用, 本次代码均在该环境下实现) sudo apt-get install sox # 安装语音播放软件 pip …

边缘计算网关:重新定义物联网数据处理

随着物联网&#xff08;IoT&#xff09;设备的爆炸式增长&#xff0c;数据处理和分析的需求也在迅速增加。传统的数据处理方式&#xff0c;将所有数据传输到中心服务器进行处理&#xff0c;不仅增加了网络负担&#xff0c;还可能导致数据延迟和安全问题。因此&#xff0c;边缘计…

私有部署ELK,搭建自己的日志中心(四)-- kibana展示es的数据

一、说在前面的话 前一篇已把elk的安装连带讲完&#xff0c;本文重在讲述如何在kibana展示es数据。 二、数据的展示 展示es数据库的客户端工具有很多&#xff0c;比如es head插件&#xff0c;但是一说到要查询日志&#xff0c;还是非kibana莫属了。 1、kibana.yml # 服务端…

OpenCV入门01:图像处理简介/图像的基础操作

项目开源&#xff0c;地址&#xff1a;https://gitee.com/zccbbg/opencv_study 文章目录 图像处理简介灰度图像二值图像彩色图 opencv 介绍图像基础操作图像读取与显示绘制几何图形图像的属性其他操作算数操作加法混合 图像色彩空间转换 图像处理简介 灰度图像 ● 灰度图像是…

Linux服务器搭建笔记-006:拓展/home目录容量

一、问题说明 Ubuntu服务器在使用过程中创建的新用户&#xff0c;每位用户会在/home目录下生成一个属于其个人的主文件夹。如果不限制各个用户的使用空间&#xff0c;所有的用户都会共用/home所挂载的硬盘。在这种多用户情况下&#xff0c;会很快的填满/home目录&#xff0c;导…

一款超酷的一体化网站测试工具:Web-Check

Web-Check 是一款功能强大的一体化工具&#xff0c;用于发现网站/主机的相关信息。用于检查网页的工具&#xff0c;用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题&#xff0c;并提供修复建议。 它只需要输入一个网站就可以查看一个网…

企业品牌推广在国外媒体投放的意义和作用何在?

海外广告投放是企业在国际市场推广的重要战略&#xff0c;具有多种形式&#xff0c;包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式&#xff0c;对于企…