k8s资源之namespace&replicaset&deployment

k8s强制删除pod、svc、namespace(Terminating)驱逐pod,coredns k8s强制删除pod、svc、namespace(Terminating) 阅读详情

 欢迎关注我的公众号:

 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下:

istio多集群探秘,部署了50次多集群后我得出的结论

istio多集群链路追踪,附实操视频

istio防故障利器,你知道几个,istio新手不要读,太难!

istio业务权限控制,原来可以这么玩

istio实现非侵入压缩,微服务之间如何实现压缩

不懂envoyfilter也敢说精通istio系列-http-rbac-不要只会用AuthorizationPolicy配置权限

不懂envoyfilter也敢说精通istio系列-02-http-corsFilter-不要只会vs

不懂envoyfilter也敢说精通istio系列-03-http-csrf filter-再也不用再代码里写csrf逻辑了

不懂envoyfilter也敢说精通istio系列http-jwt_authn-不要只会RequestAuthorization

不懂envoyfilter也敢说精通istio系列-05-fault-filter-故障注入不止是vs

不懂envoyfilter也敢说精通istio系列-06-http-match-配置路由不只是vs

不懂envoyfilter也敢说精通istio系列-07-负载均衡配置不止是dr

不懂envoyfilter也敢说精通istio系列-08-连接池和断路器

不懂envoyfilter也敢说精通istio系列-09-http-route filter

不懂envoyfilter也敢说精通istio系列-network filter-redis proxy

不懂envoyfilter也敢说精通istio系列-network filter-HttpConnectionManager

不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册

 

namespace:

•名称空间

•用于隔离不同的应用

•简称ns

常用命令:

•kubectl get namespaces

• kubectl describe namespace default

•kubectl create -f namespace-test.yaml

•kubectl delete namespace test

•kubectl apply -f namespace-test.yaml

•kubectl label namespace test aa=bb

•kubectl get ns -l aa=bb

•kubectl label ns test aa-

•kubectl edit ns test

•kubectl annotate ns test aa=bb

• kubectl annotate ns test aa-

•kubectl delete ns test --force --grace-period=0

•Kubectl create ns test

•kubectl get ns test -o yaml

resourceQuota:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu-demo
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi
kind: Namespace
apiVersion: v1
metadata:
  name: test
  labels:
    name: test

replicaset:

•确保Pod数量:它会确保Kubernetes中有指定数量的Pod在运行,如果少于指定数量的Pod,RC就会创建新的,反之这会删除多余的,保证Pod的副本数量不变

•确保Pod健康:当Pod不健康,比如运行出错了,总之无法提供正常服务时,RC也会杀死不健康的Pod,重新创建新的

•弹性伸缩:在业务高峰或者低峰的时候,可以用过RC来动态的调整Pod数量来提供资源的利用率,当然我们也提到过如果使用HPA这种资源对象的话可以做到自动伸缩。

滚动升级:滚动升级是一种平滑的升级方式,通过逐步替换的策略,保证整体系统的稳定性

常用命令:

•kubectl create -f replicaset.yaml

• kubectl describe rs frontend

•kubectl edit rs frontend

•kubectl label rs frontend aa=bb

•Kubectl label rs frontend aa-

•Kubectl annotate rs frontend xx=yy

•Kubectl annotate rs frontend xx-

• kubectl get rs frontend -o yaml

•kubectl get rs -l aa=bb

•kubectl get rs -o wide

•kubectl scale rs frontend --replicas=4

•kubectl apply -f replicaset.yaml

• kubectl patch rs frontend –p ‘{“metadata”:{“labels”:{“xx”:”yy”}}}’

metadata.generation:

•metadata.generation 就是这个 ReplicationSet 的元配置数据被修改了多少次。这里就有个版本迭代的概念。每次我们使用 kuberctl edit 来修改 ReplicationSet 的配置文件,或者更新镜像,这个generation都会增长1,表示增加了一个版本。

metadata.ownerReferences:

•这个字段就是标注这个 ReplicaSet 的 Owner 信息、

•如果rs由deployment创建那么owner就为这个deployment

metadata.resourceVersion:

•这个 resourceVersion 就是这个资源对象当前的版本号。

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: frontend
  labels:
    app: guestbook
    tier: frontend
spec:
  # this replicas value is default
  # modify it according to your case
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
    matchExpressions:
      - {key: tier, operator: In, values: [frontend]}
  template:
    metadata:
      labels:
        app: guestbook
        tier: frontend
    spec:
      containers:
      - name: php-redis
        image: iaasfree/gb-frontend:v3 
        resources:
          requests:
            cpu: 10m
            memory: 10Mi
        env:
        - name: GET_HOSTS_FROM
          value: dns
          # If your cluster config does not include a dns service, then to
          # instead access environment variables to find service host
          # info, comment out the 'value: dns' line above, and uncomment the
          # line below.
          # value: env
        ports:
        - containerPort: 80

hpa:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: frontend-hpa
  labels:
    software: apache
    project: frontend
    app: hpa
    version: v1
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: ReplicaSet
    name: frontend
  minReplicas: 1
  maxReplicas: 5
  targetCPUUtilizationPercentage: 10

deployment:

•Deployment为Pod和Replica Set提供声明式更新。

你只需要在 Deployment 中描述您想要的目标状态是什么,Deployment controller 就会帮您将 Pod 和ReplicaSet 的实际状态改变到您的目标状态。您可以定义一个全新的 Deployment 来创建 ReplicaSet 或者删除已有的 Deployment 并创建一个新的来替换。
注意:您不该手动管理由
Deployment 创建的 Replica Set,否则您就篡越了 Deployment controller 的职责!

常用命令:

•kubectl set image deployment nginx-deployment nginx=nginx:1.13

•kubectl delete -f nginx-deploy.yaml

•kubectl create -f nginx-deploy.yaml

•kubectl apply -f nginx-deploy.yaml

•kubectl edit deploy nginx-deployment

•kubectl label deploy nginx-deployment stage=test

•kubectl label deploy nginx-deployment stage-

•kubectl annotate deploy nginx-deployment anno=xx

•kubectl annotate deploy nginx-deployment anno-

•kubectl replace -f nginx-deploy.yaml

•Kubectl patch deploy nginx-deployment –p ‘{“matadata”:{“labels”:{“aa”:”bb”}}}’

•kubectl diff -f nginx-deploy.yaml

•Kubectl describe deploy nginx-deployment

•kubectl rollout history  deploy/nginx-deployment

•kubectl rollout pause deploy/nginx-deployment

•kubectl rollout resume deploy/nginx-deployment

•kubectl rollout restart deploy/nginx-deployment

•kubectl rollout status deploy/nginx-deployment

•kubectl rollout undo deploy/nginx-deployment

•kubectl rollout undo daemonset/abc --to-revision=3

•kubectl scale deploy nginx-deployment --replicas=3

•kubectl autoscale deployment foo --min=2 --max=10

•kubectl autoscale deployment foo --max=5 --cpu-percent=80

•kubectl set image deploy nginx-deployment nginx=nginx:1.17.6

•kubectl set image deploy nginx-deployment nginx=nginx:1.17.6 --record=true

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

hpa:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: nginx-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx-deployment
  minReplicas: 1
  maxReplicas: 5
  targetCPUUtilizationPercentage: 10

rollingupdate:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

recreate:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

  progressDeadlineSeconds: 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  progressDeadlineSeconds: 1
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

revisionHistoryLimit:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

【Kubernetes系列】Node、Namespace、Deployment、Pod、Service、Label的常用操作(Nginx部署实战) Kubernetes 可以使用 Namespaces(命名空间)创建多个虚拟集群。当团队或项目中具有许多用户时,可以考虑使用 Namespace 来区分,如果是少量用户集群,可以不需要考虑使用 Namespace。 Namespace 为名称提供了一个范围。资源的 Names 在 Namespace 中具有唯一性。 (2)通过文件创建 2.删除 注意: 删除一个 namespace 会自动删除所有属于该 namespace 的资源。 default 和 kube-system 命名空间不可删除。 P 阅读详情

相关推荐

kubernetes 实战

kubernete 实战 ............................................................................................................................................................

K8s学习笔记(3)——Namespace,Pod,Label,Deployment,Service

文章目录NamespacePodLabelPod控制器Service Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 可以通过kubernetes的授权机制,将不同的namespace交给不同租户进行管理,这样就实现了多租户的资源隔离。此时还能结合kubernetes的资源配额机制,限定不同租户能占用的资源,例如CPU使用量、内存使用量等等,来实现租户可用资源的管理。 所有未指定Namespace的对象都

BookSea的博客 849

MATLAB R2022b 安装教程

1. 下载安装先放资源链接,百度网盘太贵了不想续了,换了夸克网盘。1. 下载安装。

qq_51654158的博客 2万+

Rancher持续集成部署K8S集群的脚本

文章目录Rancher CLI 安装概要安装 Rancher CLI 安装 概要 Rancher CLI 是一款 Racher 的客户端工具, 允许通过 shell 命令来调用Rancher的API接口, 大大的方便了对Rancher的操作 安装 登录rancher 在右下角下载 Rancher CLI, 这里我们下载linux版本的 下载到对应目录 tar -zxvf rancher-linu...

qq_21047625的博客 1212

EverOS:为AI智能体构建长期记忆系统的完整指南

长期记忆是AI智能体实现持续学习和自我演进的核心能力,它通过结构化存储和关联检索历史交互信息,使智能体能够跨越单次对话的局限。其技术原理通常涉及向量数据库、记忆提取算法和知识图谱等组件,用于对非结构化对话内容进行编码、组织和索引。这一能力的技术价值在于显著提升了智能体的个性化服务水平、任务完成连贯性以及从经验中学习的能力,是实现真正“智能”伙伴的关键。在应用场景上,长期记忆系统广泛应用于个性化聊天伴侣、持续学习的编程助手、游戏NPC角色塑造以及客户服务机器人等领域。本文以EverOS为例,深入解析了其提供的

weixin_28679635的博客 450

专栏丨华为HN8145XR光猫获取超级管理员密码

摘要:本文详细介绍了华为HN8145xr光猫获取超级管理员权限的完整步骤。首先通过ONT使能工具补全shell,然后利用Telnet登录光猫后台进行操作。文章提供了多种获取超级密码的方法,包括配置文件解密、一键查询工具等,并针对联通光猫特别说明了默认密码格式(CUAdmin+后八位数字)。此外,还介绍了恢复出厂设置、修改SSID等实用操作,帮助用户完全掌控光猫设备。文末附有详细的命令行操作指南,适合有一定技术基础的用户参考。

8298

轻松掌握K8S命名空间、Pod、Deployment部署工具

轻松掌握K8S命名空间、Pod、Deployment部署工具

813

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

本文提供了一份详细的Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航的避坑指南,涵盖Gazebo启动失败、场景加载问题、环境变量设置、GLIBCXX版本冲突及Nav2参数配置等5个常见报错的解决方案,帮助开发者高效完成机器人导航项目。

weixin_29062823的博客 286

docker安装部署rancher、rancher kubectl更新pod。

添加集群 -> 自定义 -> 录入基本配置信息后下一步 -> 勾选Etcd和Control Plane -> 复制需要在主机SSH运行的命令 -> 执行命令 -> 界面提示主机注册成功后点击完成 -> 等待集群状态变成 Active【需要点时间】rancher-ui中,系统设置 -> 高级设置 -> system-default-registry -> 点击升级,输入 registry.cn-hangzhou.aliyuncs.com 后保存即可。​​​​​​​【访问自己虚拟机的地址】

惜缘破军 1950

U24时钟信号上升下降沿出现非单调性--简单分析

交换机U24时钟信号上升下降沿出现非单调性--简单分析

qq_45185504的博客 1132

陀螺仪与加速度计的姿态融合——互补滤波

本篇文章我们来讲讲如何将陀螺仪和加速度计的数据结合起来,获取更准确的姿态数据,使用的是互补滤波的方法。

小白白学电子 2万+

kubernetes(namespace、pod、deployment、service、ingress)

NameSpace名称空间用来隔离资源,但是不隔离网络。

LX1232456的博客 417

机器人控制算法九之 位姿描述与空间变换

机器人控制算法九之 位姿描述与空间变换

yohnyang的博客 1034

【云原生】四.Kubernetes核心对象(下):Deployment、Service与Namespace

本文详细介绍了Kubernetes三大核心对象:Deployment用于无状态应用管理,支持滚动更新和回滚;Service提供稳定的服务发现和负载均衡,支持多种类型;Namespace实现资源隔离,支持资源配额限制。通过实战案例演示了多环境部署的综合应用,包括开发和生产环境的独立配置。这三个对象是Kubernetes管理容器化应用的基础组件,掌握它们对于构建可靠的云原生应用至关重要。

hrh的博客 901

AUTOSAR CP R18-10 架构总览与导航

AUTOSAR CP R18-10 架构总览 本文档系统整理了AUTOSAR CP R18-10版本的199篇技术规范,涵盖7大架构层级: 应用层(15篇):包含车身舒适、底盘控制、HMI、安全系统、动力系统等AI应用 RTE(1篇):虚拟功能总线规范 服务层(159篇):细分为系统服务(OS/ECU管理/加密)、存储服务、通信服务(CAN/LIN/Ethernet) ECU抽象层(20篇):I/O与通信硬件抽象 MCAL(41篇):微控制器驱动层 复杂驱动(14篇):CDD设计与SPAL支撑 规范模板(2

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 724

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

k8s-对命名空间资源配额

一:创建名称空间对k8s名称空间限制的方法有很多种,今天来演示一下很常用的一种用的k8s对象就是一:创建名称空间。

weixin_63294004的博客 938

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【k8s】资源限制管理:Namespace、Deployment与Pod的实践

本文深入探讨了Kubernetes(K8s)中资源限制管理的关键实践,聚焦于Namespace、Deployment与Pod这三个核心组件。首先,文章介绍了Namespace作为K8s中资源隔离的基本单位,如何帮助开发者和管理员在多租户环境中实现资源的有效划分和隔离,确保不同团队或项目的资源使用互不干扰。 接着,文章详细阐述了Deployment在资源管理和应用部署中的重要作用。通过配置Deployment,用户可以精确控制Pod的副本数量、滚动更新策略以及资源请求和限制,从而实现对应用性能和稳定性的精细

博客虽小,世界尽在其中 3585

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

K8S(五)—命名空间与资源配额

Kubernetes(K8s)的命名空间(Namespace)是用于在集群中对资源进行逻辑隔离和分类的一种机制。它可以将集群内的资源划分为不同的组,并且每个命名空间内的资源都有一个唯一的名称。命名空间可以帮助团队将不同的项目、环境或应用程序从彼此中隔离开来,以及更好地管理资源。命名空间允许将集群内的资源进行逻辑隔离和资源分组。每个命名空间内部的资源(例如Pod、Service、ReplicaSet等)都具有唯一的名称,但在不同的命名空间中可以有相同名称的资源。

qq_51010919的博客 2790

K8S——资源管理以及Namespace

【代码】K8S——资源管理以及Namespace。

weixin_42789698的博客 180

Kubernetes(k8s)的Namespace、Pod、Label、Deployment、Service实战入门

目录1. Namespace1.1 Namespace介绍 1. Namespace 1.1 Namespace介绍 Namespace是kubernetes系统中的一种资源,是用来实现多套系统的资源隔离。比如开发环境和测试环境的资源隔离 不同Namespace的Pod不能相互访问,同一Namespace的Pod可以相互访问。通过Namespace进行统一的管理 kubernetes的资源配额机制,限定不同Namespace能占用的CPU、内存资源使用量等。通过kubernetes的授权机制,将不同的Na

Bulut0907 2502

k8s从入门到放弃-第四章 实战入门

第四章 实战入门 文章目录第四章 实战入门4.1 Namespace4.2 pod4.3 Label4.4 Deployment4.5 Service 本章节将介绍如何在kubernetes集群中部署一个nginx服务, 并且能够对其进行访问。 4.1 Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多 租户的资源隔离。 默认情况下,kubernete集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之

每天进步一点点!!! 703

rancher部署实战

一【前提】 官方文档 官方介绍: Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。 二【部署】 具体的部署文档,大家可以参考官方文档。这边仅记录下在部署中的步骤及踩坑的步骤。 2.1 部署命令 如果是为了研究部署在测试环境,或者生产环境不是大规模的情况下,可以直接使用docker部署方式,来启动ranc

qq_41411704的博客 2149

k8s实战之资源和命令

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

k8s 资源管理之 deployment

在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于Pod的管理,确保Pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建Pod。 在kubernetes中Pod控制器的种类有很多,Deployment 是最常用的那种。 Deployment 分两篇来写,这一篇主要是实操部分,下一篇是原理部分。...

看,未来的博客 4009

云原生之Kubernetes资源管理,Namespace、Pod、Label、Deployment、Service基本使用

云原生之Kubernetes资源管理,Namespace、Pod、Label、Deployment、Service基本使用

chaojiyingxiong的博客 4859

Kubernetes配置命名空间、标签以及挂载deployment

仅供参考: 1、创建命名空间 新建一个创建命名空间的yaml文件: vim namespaces.yaml set paste一下内容 apiVersion: v1 kind: Namespace metadata: name: paas-cloud labels: name: paas-cloud --- apiVersion: v1 kind: Namespace me...

记录点滴生活 6763
上一篇: k8s资源之service
下一篇: kubernetes资源之daemonset和ingress
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值