当前位置: 首页 > news >正文

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.lryc.cn/news/274476.html

相关文章:

  • STL map容器与pair类模板(解决扫雷问题)
  • 【React系列】Portals、Fragment
  • ByteTrack算法流程的简单示例
  • 免费的GPT4来了,你还不知道吗?
  • win10报错“zlib.dll文件丢失,软件无法启动”,修复方法,亲测有效
  • MFC中如何使用CListCtrl可以编辑,并添加鼠标右键及双击事件。
  • [每周一更]-(第81期):PS抠图流程(扭扭曲曲的身份证修正)
  • Kafka安全认证机制详解之SASL_PLAIN
  • 2023南京理工大学通信工程818信号系统及数电考试大纲
  • wsl(ubuntu)创建用户
  • [足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-8Lag Compensator滞后补偿器
  • swift-碰到的问题
  • 安全与认证Week4
  • Golang高质量编程与性能调优实战
  • vite 如何打包 dist 文件到 zip 使用插件 vite-plugin-zip-pack,vue3 ts
  • jdbc源码研究
  • 挠性及刚挠结合印制电路技术
  • Python+OpenGL绘制3D模型(七)制作3dsmax导出插件
  • MediaPipeUnityPlugin Win10环境搭建(22年3月的记录,新版本已完全不同,这里只做记录)
  • Nginx - location块中的alias和try_files重定向
  • 二刷Laravel 教程(用户模型)总结Ⅲ
  • 安装PyTorch及环境配置(应用于Python上的YOLO)
  • 【194】PostgreSQL 14.5 编写SQL从身份证号中查找性别,并且更新性别字段。
  • 微服务管家:NestJS 如何使用服务发现 Consul 实现高效的微服务节点管理
  • Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为Mat图像格式(C++)
  • 铁塔基站数字化管理监测解决方案
  • 如何使用Python3 Boto3删除AWS CloudFormation的栈(Stacks)
  • 差分约束算法
  • 彻底解决vue-video-player播放视频有黑边
  • 区域负责人常用的ChatGPT通用提示词模板