003.kubernets对于namespace的管理
一 Kuberbetes的架构简单介绍
1.1 云计算的传统分类

1.2 kubernetes基础架构

工作机制

- 用户通过kubectl向api-server提交需要运行的pod描述
- api-server接收请求并将相关描述存储到etcd
- scheduler 监控api-server拿到相关描述信息,开始扫描node节点,找到满足条件的node节点,将Pod与node的对应关系写入etcd
- Kubelet定时请求api-server,拿到需要在本机运行的Pod信息,运行起来
- 用户提交RC描述,rc控制器监视集群中的容器并保持数量
- 用户提交service描述,由kube-proxy负责具体的工作流量转发
1.3 创建一个容器的步骤
- 镜像从哪里获取以及版本号
- 镜像仓库是否需要认证,如果需要,请提供认证密钥
- 容器如果挂掉了,是否需要重启
- 容器是否需要挂载持久存储
- 是否为容器指定自己的dns
- 是否指定容器运行的节点
- 是否需要传递环境变量
- 容器启动之后,是否需要执行某些操作
- 容器在销毁时,是否需要执行某些操作
- 在什么情况下,我们认为容器是存活的
- 在什么情况下,我们认为容器是可以提供服务的
- 在容器启动之前,是否还需要做一些准备工作
在前面已经安装完成一个kubernetes的集群
[root@docker-server1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
192.168.132.131 Ready master 105m v1.17.0
192.168.132.132 Ready <none> 92m v1.17.0
192.168.132.133 Ready <none> 90m v1.17.0
[root@docker-server1 ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-6955765f44-8kxdg 1/1 Running 0 108m
coredns-6955765f44-m66bw 1/1 Running 0 108m
etcd-192.168.132.131 1/1 Running 0 108m
kube-apiserver-192.168.132.131 1/1 Running 0 108m
kube-controller-manager-192.168.132.131 1/1 Running 0 108m
kube-flannel-ds-amd64-dbckr 1/1 Running 0 95m
kube-flannel-ds-amd64-fg972 1/1 Running 0 93m
kube-flannel-ds-amd64-m9lgq 1/1 Running 0 104m
kube-proxy-7xgt9 1/1 Running 0 95m
kube-proxy-k8kb7 1/1 Running 0 93m
kube-proxy-q867d 1/1 Running 0 108m
kube-scheduler-192.168.132.131 1/1 Running 0 108m
kubectl 主要管理集群中的资源对象,容器也是资源
1.4 常用资源介绍
Node
Namespace
Container
Pod
Label
Annotations
ReplicaController
ReplicaSet
Deployment
HPA
Service
Job
资源对象:分为集群级别资源(node,pv,clusterrole)和命名空间级别资源(pods)
node:节点,node不属于任何命名空间,是集群资源
二 namespace的简单操作
集群安装的时候会自动帮助我们创建几个namesapce,查看namespace
2.1 查看
[root@docker-server1 ~]# kubectl get ns
NAME STATUS AGE
default Active 137m
kube-node-lease Active 137m
kube-public Active 137m
kube-system Active 137m
kubernetes-dashboard Active 82m
kubectl get pods -n kube-system 这个操作就是查看kube-system 这个命名空间所有的容器
当我们执行kubectl get pods,不指定命名空间的话 ,就去查询default这个默认的命名空间,但是没任何容器运行
[root@docker-server1 ~]# kubectl get pods
No resources found in default namespace.
2.3 创建一个命名空间
[root@docker-server1 ~]# kubectl create ns projecta
也可以通过提交资源描述文件进行创建
[root@docker-server1 ~]# kubectl get ns
NAME STATUS AGE
default Active 171m
kube-node-lease Active 171m
kube-public Active 171m
kube-system Active 171m
kubernetes-dashboard Active 116m
projecta Active 6s
2.3 删除namespace
[root@docker-server1 ~]# kubectl delete ns projecta

[root@docker-server1 ~]# kubectl get ns
NAME STATUS AGE
default Active 173m
kube-node-lease Active 173m
kube-public Active 173m
kube-system Active 173m
kubernetes-dashboard Active 117m
命名空间的命名规范
[root@docker-server1 ~]# kubectl create ns Projecta
The Namespace "Projecta" is invalid: metadata.name: Invalid value: "Projecta": a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')
从这里就可以看到规则
2.4 资源描述文件操作namespace
[root@docker-server1 ~]# mkdir -p /yamls/namespace
[root@docker-server1 ~]# cd /yamls/namespace
[root@docker-server1 namespace]# vim projectb.yaml
apiVersion: v1 #API版本
kind: Namespace #资源类型
metadata:
name: projectb #命名空间名称
[root@docker-server1 namespace]# kubectl apply -f projectb.yaml
[root@docker-server1 namespace]# kubectl get ns
NAME STATUS AGE
default Active 3h18m
kube-node-lease Active 3h18m
kube-public Active 3h18m
kube-system Active 3h18m
kubernetes-dashboard Active 142m
projectb Active 19s
删除命名空间
[root@docker-server1 namespace]# kubectl delete -f projectb.yaml
[root@docker-server1 namespace]# kubectl get ns
NAME STATUS AGE
default Active 3h18m
kube-node-lease Active 3h18m
kube-public Active 3h18m
kube-system Active 3h18m
kubernetes-dashboard Active 142m
命名空间简单介绍到这里
博主声明:本文的内容来源主要来自誉天教育晏威老师,由本人实验完成操作验证,需要的博友请联系誉天教育(http://www.yutianedu.com/),获得官方同意或者晏老师(https://www.cnblogs.com/breezey/)本人同意即可转载,谢谢!
003.kubernets对于namespace的管理的更多相关文章
- kubernets之namespace
一 命名空间的介绍以及作用 1 概念 为了方便不同部门之间对kubernets集群的使用,并且对其进行有效的隔离,kubernets提供了一种资源隔离手段,通过将各种不同资源分组到 一个区域,并且统 ...
- 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理
目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...
- 使用TreeView+ListBox+TxtBox 资料管理器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(86)-日程管理-fullcalendar插件用法
前言 本文分享fullcalendar用法,最后面提供代码下载 说到日程管理,基于JQuery的插件FullCalendar当之无愧,完整的API稳定和调用方式,非常易于扩展!可以用于系统的个人历程管 ...
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- fullcalendar插件日程管理
日程管理-fullcalendar插件用法 前言 本文分享fullcalendar用法,最后面提供代码下载 说到日程管理,基于JQuery的插件FullCalendar当之无愧,完整的API稳定和 ...
- Nacos(六):多环境下如何“管理”及“隔离”配置和服务
前言 前景回顾: Nacos(五):多环境下如何"读取"Nacos中相应环境的配置 Nacos(四):SpringCloud项目中接入Nacos作为配置中心 现如今,在微服务体系中 ...
- docker集群——K8s简介
Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括: 基本容器的应用部署.维护和滚动升级: 负载均衡和服务发现: 跨机器和跨地区的集 ...
- Kubernetes 组件简介
关于Kubernetes是什么??? Kubernetes是致力于提供跨主机集群的自动部署.扩展.高可用以及运行应用程序容器的平台. Kubernets集群组成有哪些??? k8s由master和no ...
随机推荐
- 008-Java中方法的使用(进阶篇)
目录 一.方法的重载(overload) 一.什么是方法的重载 二.方法执行时的内存变化 一.JVM主要三块内存空间 二.关于栈的数据结构(如图) 三.方法执行过程内存变化(用以下代码演示) 三.方法 ...
- Day09_41_集合_Set
Set集合 Set集合 - Set集合的特点是无序不可重复.Set集合类似于一个罐子,程序可以依次把多个对象"丢进"Set集合,而Set集合通常不能记住元素的添加顺序. - Set ...
- 【WPF】将控件事件中的参数,传递到ViewModel中
在MVVM模式下,在通常使用命令(Command)绑定的方式的时候 ,使用的是 CommandParameter 属性进行参数的传递. 但是很多时候,有一些事件我们需要使用其中的一些事件里面的参数,以 ...
- [C#] NAudio 库的各种常用使用方式: 播放 录制 转码 音频可视化
概述 在 NAudio 中, 常用类型有 WaveIn, WaveOut, WaveStream, WaveFileWriter, WaveFileReader 以及接口: IWaveProvider ...
- 1.7.3- HTML表格属性
- IPS入侵防御系统
目录 IPS入侵防御系统 如何才能更好的防御入侵 IPS与IDS的区别 IDS与IPS的部署 IPS独立部署 IPS分布式部署 IPS入侵防御系统 IPS(Intrusion Prevention S ...
- Intel汇编程序设计-整数算术指令(上)
第七章 整数算术指令 7.1 简介 每种汇编语言都有进行操作数移位的指令,移位和循环移位指令在控制硬件设备.加密数据,以及实现高速的图形操作时特别有用.本章讲述如何进行移位和循环移位操作以及如何使用移 ...
- node-mongo-服务器封装
分为三个文件 mongo.js基本的封装了下mongo数据库操作 workmongo.js 里面有路由和解析操作(可以根据具体业务进行扩充) mainmongo.js 服务器相关 调用例子: 查询数据 ...
- c# 通过 p/invoke 使用 c的加密程序 参数传递问题
最近项目中使用需要上位机和下位机通过rs232通信,涉及到通讯加密问题, 硬件那边主要是pcb layout的,于是我就把加密的活拦了过来,锻炼锻炼 首先说明问题: 在c中,加密解密都测试通过,然后在 ...
- 安装和简单使用apidoc
安装nodejs 参考链接 安装apidoc 参考链接 使用 https://www.bilibili.com/video/BV1MW411Q7g4 https://www.bilibili.com/ ...