Kubernetes 点滴

kubernetes 架构与组件

两类节点:Master和Node

Master组件:集群大脑
API Server
Scheduler
Controller Manager
etcd(kubernetes集群的主数据库)

Ndoe节点上运行:
kubelet
kube-Proxy
Docker dadmon

kubelet 组件,Master和Node之间的桥梁

kube-proxy 组件,运行在每个Node上

Pod的生命周期是通过Replication Controller(RC)来管理的

Replication Controller是Kubernetes系统的核心概念,用于定义Pod副本的数量。
在Master内,Controller Manager进程通过RC的定义来完成Pod的创建、监控、启停等操作。

API Server:提供了资源对象的唯一操作入口,其他所有组件都必须通过他提供的API来操作资源数据,通过对相关的资源数据“全量查询”+“变化监听”,这些组件可以很“实时”地完成相关的业务功能,比如某个新的Pod一旦被提交到API Server 中,controller Manager 就会立即发现并开始调度。

Conroller Manager:集群内部的管理控制中心,其主要目的是实现kubernetes集群的故障检测和恢复的自动化工作,比如根据PC的定义完成Pod的复制或移除,以确保Pod实例数符合RC副本的定义,根据Service与Pod的管理关系,完成服务的Endpoints对象的创建与更新;其他诸如Node的发现、管理和状态监控、死亡容器所占磁盘空间及本地缓存的镜像文件的清理工作也是由Controller Manager完成的。

Scheduler :急群中的调度器,负责Pod在集群节点中的调度分配。

Kubelet:负责本Node节点上的Pod的创建、修改、监控、删除等全生命周期管理,同时kubelet定时“上报”本Node的状态信息到API Server 里。

Proxy:实现了Service 的代理及软件模式的负载均衡器。


kuberctl get nodes
kuberctl create -f hello-service.yaml --record
kuberctl get svc|grep hello-service
kuberctl describe svc/hello-service
curl [ip:port]/hello
kuberctl create -f hello-deployment.yaml --record=true
kuberctl get deployments
kuberctl get pods|grep hello
kuberctl logs hello-deployment-****
kuberctl apply -f hello-deployment.yaml
kuberctl get pods|grep hello
kuberctl rollout status deployment/hello-deployment
kuberctl rollout undo deployment/hello-deployment

kuberctl get namespace
kuberctl get pods

kuberctl describe node <node_name>

kuberctl scale rc redis-slave --replicas=3

kuberctl get endpoints
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值