了解集群、标签、Pod和Deployment
Kubernetes的知识真的特别庞大,知识点多,还特别看重实践操作。我从
Kubernetes这个单词怎么拼写到在搭建好K8s集群并运行一个Nginx,花了一周的时间。我现在也是超级菜鸟一个,连入门都不算,只能边学边记录,我看的书籍是下面2本:
《Kubernetes权威指南》第6版,知识点全面,对概念和原理讲的深入《Kubernetes企业级云原生运维实战》李振良编写,更偏向实战操作,以便🐮🐴们能用上K8s为老板打工- 个人建议先看
《Kubernetes企业级云原生运维实战》,不然《Kubernetes权威指南》的第一章(共47页)都根本看不懂💀
一、K8s资源对象
K8s中的基础概念和术语大多围绕资源对象来说的,资源对象可分如下几类:
- 基础资源对象:节点(Node)、容器组(Pod)、服务(Service)、存储卷(Volume)
- 基础资源对象相关的事务与控制器:标签(Label)、注解(Annotation)、命名空间(Namespace)、水平扩容、配置(ConfigMap、Secret)、持久化存储(PersistentVolume、PersistentVolumeClaim、StorageClass)、工作负载控制器(Deployment、StatefulSet、DeamonSet、Job、CronJob)
- 资源管控和权限相关:资源限制、资源配额、角色、角色绑定
- 网络相关 :Ingress、网络策略(NetworkPolicy)等
K8s中资源对象包括几个公共属性:版本(Version)、类别(Kind)、名称(Name)、标签、注解。我们可以用YAML或JSON格式声明一个K8s资源对象,每个资源对象都有自己特定的结构定义,比如Pod和Service的YAML文件的格式是不同的。定义好的资源对象会保存在etcd这非关系型数据库中,以便快速读写。
二、K8s集群
K8s集群(Cluster)是由Master和Node组成的。
1. Master
Master是控制节点,负责管理和控制整个集群,相当于集群的大脑,在每个K8s集群中都需要一个或一组Master。在Master上运行一下关键进程:
kube-apiserver:提供RESTful API接口,是对资源进行增删改查的唯一入口,也是集群控制的入口kube-controller-manager:所有资源对象的自动化控制中心,相当于“大总管”kube-scheduler:负责资源调度(Pod调度)
2. Node
Node是集群中的工作负载节点,是真正干活的打工人。Master会把工作负载分配给Node,当某个Node宕机,其上的工作负载会被Master转移到其他Node上。在每个Node上运行着以下关键进程:
kubelet:负责Pod对应容器的创建、启停等任务,听Mater的指挥,实现集群管理的基本功能kube-proxy:实现K8sService通信与负载均衡机制容器运行时(如Docker):负责本机容器的创建和管理
查看集群有多少节点
kubectl get nodes
查看某个Node的信息
kubectl describe node <node_name>
三、Namespace(命名空间)
在K8s集群中还有一个重要概念-命名空间(Namespace),在大多情况下用于多租户的资源隔离,典型的思路是给每个租户分配一个命名空间。每个命名空间都是相互独立的,不同命名空间的资源对象是逻辑上相互隔离。K8s安装运行后,默认会有2个Namespace:
default:给用户用的,用户创建资源对象时,如不指定命名空间,会放到default命名空间kube-system:存放系统相关的资源对象如网络组件、DNS组件、监控类组件
若不指定namespace,查看的是default命名空间内的资源对象
kubectl get pods
通过参数查看指定命名空间"dev"的资源对象
kubectl get pods --namespace=dev
四、Label(标签)
Label(标签)是K8s一个核心概念,它就是一个key=value的键值对,其中key和value都是用户自定义。Lable可以被附加到Node、Pod、Deployment、Service、Volume等资源对象上,并且 一个资源对象可以有多个标签。 在实际生产环境中,Pod应该都是有标签的,下面看个例子,就知道标签的重要性了。
- 下面是个定义
Service的yaml文件,最后的selector就是指关联有app=nginx标签的Pod
apiVersion: v1 # API版本
kind: Service # 资源类型
metadata: # 资源元数据
name: nginx

最低0.47元/天 解锁文章
2358

被折叠的 条评论
为什么被折叠?



