Kubernetes — 核心资源对象 — Namespace

本文介绍了Kubernetes Namespace作为资源逻辑划分的方法,详细阐述了默认、kube-system及自定义Namespace。重点讲解了基于层级命名空间的多租户模型,以及如何通过Namespace实现权限策略的继承和创建权限的授予。文章还提供了使用示例,展示如何通过Hierarchical Namespace Controller(HNC)创建和管理子命名空间。
摘要由CSDN通过智能技术生成

目录

Namespace

Namespace 提供了一种逻辑划分 Cluster Resources 的方法,K8s 具有以下类型 Namespace:

  • default Namespace:创建任意资源时如果不特别指定 Nameplace,就会将资源放到 default 下。
  • kube-system Namespace:Kubernetes System 自己创建的资源,就会放到 kube-system 下。
  • custom Namespace:用户自定义的 namespace。

Namespace 的创建和使用需要进行认证、鉴权、授权。只有超级管理员才能创建 Namesapce,其他用户需要明确的权限才能使用这些 Namespace,包括:创建、查看和修改 Namespace 下属的资源对象。所以,可以通过设置恰当的安全权限策略来防止非特权用户操作特定的资源对象。

在这里插入图片描述

基于层级命名空间的多租户模型

Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了一组核心结构来管理容器化应用程序的生命周期。 1. Pod(容器组):Pod是Kubernetes的最小调度单位,它是一个或多个容器的组合,共享网络和存储资源。Pod中的容器共享相同的命名空间和网络栈,可以通过localhost进行通信。 2. Node(节点):Node是Kubernetes集群中的工作节点,它可以是物理机或虚拟机。每个Node上运行着Kubernetes的代理组件kubelet,用于管理Pod和容器。 3. Deployment(部署):Deployment是用于定义和管理Pod副本的对象。它指定了要运行的Pod副本数量、容器镜像、资源限制等信息,并确保在节点故障或扩展时进行自动修复和重新调度。 4. Service(服务):Service是一种抽象,用于将一组Pod暴露为一个网络服务。它为Pod提供了一个稳定的网络地址和DNS名称,并通过负载均衡将流量分发到后端的Pod。 5. Namespace(命名空间):Namespace是用于在Kubernetes集群中创建多个虚拟集群的一种机制。它可以将集群划分为多个逻辑部分,每个部分都有自己的资源配额和访问控制策略。 6. ConfigMap和Secret:ConfigMap用于存储应用程序的配置信息,而Secret用于存储敏感的配置信息,如密码、API密钥等。它们可以被挂载到Pod中的容器中,以供应用程序使用。 7. Volume(存储卷):Volume是用于在Pod和容器之间共享和持久化数据的抽象。它可以将外部存储系统挂载到Pod中,使应用程序可以读写数据。 8. Ingress(入口):Ingress是一种规则集合,用于定义从集群外部访问服务的规则。它可以将外部流量路由到不同的服务,并提供负载均衡、SSL终止等功能。 9. StatefulSet(有状态副本集):StatefulSet用于管理有状态应用程序的副本。它确保每个副本都有唯一的网络标识和稳定的存储,以便应用程序可以保持状态。 10. DaemonSet(守护进程集):DaemonSet用于在集群中的每个节点上运行一个副本,确保每个节点都有相同的Pod副本。它通常用于运行监控、日志收集等后台任务。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

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

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

打赏作者

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

抵扣说明:

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

余额充值