k8s学习

1、部署区别方式

1.1、传统部署

传统部署:环境不隔离
优点:简单,不需要其它技术的参与
缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响

1.2、虚拟化部署

虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境
优点:程序环境不会相互产生影响,提供了一定程度的安全性
缺点:增加了操作系统,占用资源较大 

1.3、容器化部署:

与虚拟化类似,但是共享了操作系统
优点: 可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等 运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦 容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署

缺点删除了容器,配置的资源也会消失,(虽然可以用存储卷,网络,但是只是针对单台机器

单台机器

1.4、k8s作用

多台机器

kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能:

自我修复重启:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器
弹性伸缩pod:可以根据需要,自动对集群中正在运行的容器数量进行调整
服务发现:服务可以通过自动发现的形式找到它所依赖的服务
负载均衡:如果一个服务起动了多个容器,能够自动实现请求的负载均衡
版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
存储编排:可以根据容器自身的需求自动创建存储卷

2、k8s架构

分为主节点和从节点

主节点:认证授权,api,调度器,控制器,通过这些操作node节点

用户通过命令行kubectl,访问rest,通过rest(我们用命令,k8s收到的时rest请求)操作对应的node

外部人员访问:防火墙,主节点的apiserver,访 问node

3、调用流程

4、K8s中什么是无状态和有状态应用

无状态:不会对本地磁盘产生依赖,不回存储数据到本地磁盘

有状态:相反

需要进行持久化存储的是无状态应用,比如redis

5、规约和状态

spec:规约,期望状态(比如允许几个容器)

status:实际状态,尽量靠近期望状态(比如期望3个容器,资源有限只能启动2个)

6、资源分配作用域

元空间:hpa 自动伸缩pod,模版yaml,存储分配 

集群

命名空间

获取资源的作用域

7、控制器

日志可以用守护进程

定时执行

7.1、replicationController (RC)

动态增加pod数(弃用)

7.2、replicaset (RS)

只针对某个结点扩容 (弃用)

7.3、deployement (无状态服务)

高于rc,rs

滚动回滚(创建新的容器可用后,将原来变为不可用  )

7.4、statefulSet(有状态服务)

headless service 稳定网络标识 dns

volumeClaimTemplate 持久化存储

7.5、deamonset守护进程

将日志手机pod部署到对应节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值