Kubernetes 学习笔记

2019-09-29  本文已影响0人  FogDong

什么是Kubernetes

Kubernetes 是 Google 开源的基于容器技术的分布式架构领先方案,提供应用部署、维护、扩展机制等功能,利用 Kubernetes 能方便地管理跨机器运行容器化的应用。

单容器( contianer )所遇到的问题

核心概念

分为 master 和 node 节点,master 为集群控制节点
master 节点通常会占据一个独立的服务器(高可用部署建议使用三台服务器(如果 master 和 etcd 部在一起的话))

master上:etcd, controller, scheduler, api server

node上:kubelet, kubeproxy, runtime

除了核心组件,还有一些推荐的 Add-ons:

网络预置

设计原则

声明式编程(Declarative)

声明式与命令式的区别

Declarative 的定义是用户设定期望的状态,系统会知道它需要执行什么操作,来达到期望的状态。
而对于 Imperative,需要用户告诉系统需要做什么。比如说用户说创建一个新的 Container,系统才会创建一个新的 Container。

Level-triggered

Pod

基本概念

pod 的五大状态(生命周期,pod phase)

pod 的重启策略

API

API 资源结构

API 扩展方法

RC, RS, Deployment

RC

推荐使用 RS + Deployment 来代替 RC
是比 pod 高一级的存在
RC 与 Pod 的关联是通过 Label 来实现的(通过 selector)
Label 是键值对,可用于筛选资源

RS

大部分与 RC 相同,除了 rolling update (RS 特有)

Deployment

比 RS 高一级的定义微服务应用的抽象层
Deployments 创建 RS

PV, PVC

PV 与 PVC 一一对应
管理员定义 PV, 用户使用 PVC

上一篇下一篇

猜你喜欢

热点阅读