我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。
我们在前面讲解Kubernetes很多的资源的操作的时候,都提到了命名空间(Namespace),那这个命名空间(Namespace)到底是个什么样的概念还有什么用处呢?
Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。在Kubernetes中,命名空间(Namespace)是用于实现多租户环境的一种资源隔离机制。以下是关于Kubernetes命名空间的一些详细介绍:
apiVersion: v1
kind: ResourceQuota
metadata:
name: example-resource-quota
namespace: your-namespace-name # 替换为你的命名空间名称
spec:
hard:
requests.cpu: "2" # 该命名空间中所有容器请求的CPU总和不能超过2核
requests.memory: 4Gi # 该命名空间中所有容器请求的内存总和不能超过4GB
limits.cpu: "4" # 该命名空间中所有容器的CPU上限不能超过4核
limits.memory: 8Gi # 该命名空间中所有容器的内存上限不能超过8GB
persistentvolumeclaims: "5" # 最多可以有5个持久卷声明
configmaps: "10" # 最多可以有10个配置映射
1.非隔离性:命名空间提供的是逻辑隔离,而不是网络或存储隔离。默认情况下,命名空间之间网络是互通的,除非使用网络策略(Network Policies)进行隔离。
2.层次性:命名空间之间没有层次关系,它们是平级的。
3.可配置性:可以通过YAML文件定义命名空间,以及相关的资源配额、访问控制等。
1.创建命名空间:
apiVersion: v1
kind: Namespace
metadata:
name: my-namespace
使用kubectl create -f <filename>.yaml
命令创建。也可以直接使用命令:
kubectl create ns nsname
2.查看命名空间:
#查所有的命名空间
kubectl get ns
3.删除命名空间: 使用kubectl delete namespace <namespace-name>
命令删除。
4.切换命名空间: 使用kubectl config set-context --current --namespace=<namespace-name>
命令切换当前上下文的默认命名空间,可以把命名空间从默认的defaulet切换到指定的命名空间。
系统默认命名空间
Kubernetes集群启动时会自动创建几个默认的命名空间:
通过使用命名空间,Kubernetes能够更好地支持多用户环境,确保资源的安全和高效管理。
历史推荐内容Docker-docker基本信息,基本命令,dockerfile,原理,仓库,存储网络日志,番外篇云计算&虚拟化-包括服务器购买,虚拟化介绍,虚拟磁盘,虚拟网络,创建虚拟机,安装虚拟机,dashboard,xml解释,克隆,快照,初始化,esxi介绍。Linux进阶-包括硬件,日常运维,基础软件,日志,进阶命令,防火墙,shell编程,内核,linux系统及初始化Linux基础-包括文件的增删改查,磁盘管理,网络配置,用户配置,权限配置 |
---|
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有