一 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 创建一个容器的步骤

  1. 镜像从哪里获取以及版本号
  2. 镜像仓库是否需要认证,如果需要,请提供认证密钥
  3. 容器如果挂掉了,是否需要重启
  4. 容器是否需要挂载持久存储
  5. 是否为容器指定自己的dns
  6. 是否指定容器运行的节点
  7. 是否需要传递环境变量
  8. 容器启动之后,是否需要执行某些操作
  9. 容器在销毁时,是否需要执行某些操作
  10. 在什么情况下,我们认为容器是存活的
  11. 在什么情况下,我们认为容器是可以提供服务的
  12. 在容器启动之前,是否还需要做一些准备工作

在前面已经安装完成一个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的管理的更多相关文章

  1. kubernets之namespace

    一 命名空间的介绍以及作用 1  概念 为了方便不同部门之间对kubernets集群的使用,并且对其进行有效的隔离,kubernets提供了一种资源隔离手段,通过将各种不同资源分组到 一个区域,并且统 ...

  2. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...

  3. 使用TreeView+ListBox+TxtBox 资料管理器

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(86)-日程管理-fullcalendar插件用法

    前言 本文分享fullcalendar用法,最后面提供代码下载 说到日程管理,基于JQuery的插件FullCalendar当之无愧,完整的API稳定和调用方式,非常易于扩展!可以用于系统的个人历程管 ...

  5. Docker集群管理工具 - Kubernetes 部署记录 (运维小结)

    一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...

  6. fullcalendar插件日程管理

    日程管理-fullcalendar插件用法   前言 本文分享fullcalendar用法,最后面提供代码下载 说到日程管理,基于JQuery的插件FullCalendar当之无愧,完整的API稳定和 ...

  7. Nacos(六):多环境下如何“管理”及“隔离”配置和服务

    前言 前景回顾: Nacos(五):多环境下如何"读取"Nacos中相应环境的配置 Nacos(四):SpringCloud项目中接入Nacos作为配置中心 现如今,在微服务体系中 ...

  8. docker集群——K8s简介

    Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括: 基本容器的应用部署.维护和滚动升级: 负载均衡和服务发现: 跨机器和跨地区的集 ...

  9. Kubernetes 组件简介

    关于Kubernetes是什么??? Kubernetes是致力于提供跨主机集群的自动部署.扩展.高可用以及运行应用程序容器的平台. Kubernets集群组成有哪些??? k8s由master和no ...

随机推荐

  1. 201871030118-雷云云 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客 班级链接 这个作业要求链接 作业链接 我的课程学习目标 (1)体验软件项目开发中的两人合作,练习结对编程(2)掌握Github协作开发程序的操作方法(3)学习遗传算法 这个作 ...

  2. oo第四单元暨课程总结

    第四单元架构设计总结 第一次作业 单独写了MyUmlClass.MyUmlInterface.MyUmlOperation三个类对应UML中相应元素,在UML图中这几个元素包含一些下级元素,如Clas ...

  3. Qt开发技术:图形视图框架(一)基本介绍

    前话   使用到Qt的视图框架.   Qt视图框架介绍 简介   图形视图框架(The Graphic View Framework)用于管理和与大量定制的二维图形项目交互,以及用于可视化项目的视图小 ...

  4. hbuilderX打包苹果证书的申请方法

    现在uniapp越来越火,hbuilderX和apicloud这些工具使用html+js语言就可以开发强大的app,大大降低了app开发的技术门槛. hbuilderX或apicloud在打包ios应 ...

  5. Seata搭建与分布式事务入门

    在单体架构下,我们大多使用的是单体数据库,通过数据库的ACID特性支持,实现了本地事务.但是在微服务架构下复杂的业务关系中,分布式事务是不可避免的问题之一.Seata是Spring Cloud Ali ...

  6. IDEA 配置文件位置

    1 IDEA 2020.1 以上 1.1 Win 语法: %APPDATA%\JetBrains\<product><version> Win上的APPDATA默认位置如下: ...

  7. Salesforce学习之路(四)利用Jenkins和Git实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

  8. Cobalt-Strike Office宏利用与免杀

    1.打开Cobalt-Strike生产Office宏病毒. 首先需要设置监听器.因为钓鱼的目标比较单纯,在这里就不采用域前置技术. 然后使用攻击模块,生产Office宏病毒. 设置好监听器. 生成宏病 ...

  9. Typora 主题推荐

    Typora 修改代码块高亮样式可以参考:点击这里 下面推荐按几款比较好看的主题样式 1.cobalt主题 2.Drake主题 3.fluent主题 4.gitbook主题 5.techo主题 6.U ...

  10. ASP调用SDK微信分享好友、朋友圈

    ASP调用SDK微信分享好友.朋友圈需要用到sha1.asp,我先来上主代码,然后再附加sha1.asp,方便大家直接复制过去即可使用. 页面:shara.asp 1 <%@LANGUAGE=& ...