K8S笔记

1.1 K8S简介

1、云计算类型:

IAAS→PAAS→SAAS

PAAS代表厂商,如新浪云

传统级虚拟化→容器级虚拟化。

2、资源管理器用来处理容器的集群化问题

资源管理器:

Apache MESOS、Docker Swarm、K8S

K8S特点:轻量级、开源、弹性伸缩、负载均衡。

3、组件

K8S前身是谷歌的borg系统,brog架构如下图:

Master节点需要高可用,节点数量一般为奇数

访问方式:三种

K8S架构如下图:

kubectl:连接工具

master节点

api server:所有服务的统一访问入口

scheduler:调度器(接受任务,选择合适节点分配)

controller manager:控制器(维护期望值)

etcd:键值对数据库(存储K8S集群所有重要数据(持久化)

K8S的1.11版本之后etcd默认是v3版

node节点

kublet:直接和容器引擎交互,实现容器的生命周期管理

kube proxy:写入规则至iptables或ipvs实现服务映射访问

container runtime interface:镜像运行为容器

4、插件

coredns:为集群中的svc创建域名和IP的解析记录

dashboard:提供K8S的BS访问

ingress:可以实现7层代理

Prometheus:监控

elk:日志统一分析接入平台

1.2 基础概念

1、pod概念

一个pod多个容器,每个pod中都有一个pause容器,pod中其他容器共用网络栈和存储卷。面试题!!!

k8s中pod是管理最小单元。

同一个pod中容器的端口不能冲突。

2、pod分类

  1. 自主式pod(不被控制器管理的)

死亡不会被拉起来

  1. 控制器管理的pod

死亡会被重新拉起

3、控制器

  1. RC,官方建议使用RS

  2. RS,支持集合式的selector

  3. Deployment,支持滚动更新

创建出来一个Deployment,会自动创建一个RS。

当更新时候会在创建一个新的RS,进行滚动更新,当完全更新后,停用旧的RS,使用新的RS。

当回滚时,旧的RS再逐步代替当前RS。

  1. HPA 监听pod资源利用率,进行水平扩容(2-10)

  2. StatefulSet 解决有状态服务的问题

  3. DaemonSet

  4. Job和CronJob 批处理任务

4、服务发现

service→pods

5、网络通讯方式

扁平的网络空间实现pod和pod间直接通信

  1. 同一个pod内的容器: lo

  2. pod与pod间: overlay network

  3. pod与service: iptables规则

flannel

flannel和etcd的关系

8

相关推荐
ggaofeng1 天前
glusterfs如何在k8s中使用
云原生·容器·kubernetes·glusterfs
Mixtral1 天前
职场录音转写工具投入产出比实测:随身鹿、通义听悟、阿里云与Trint该怎么选?
阿里云·云计算
IT策士1 天前
第49篇 k8s之服务网格入门:Istio 简介
容器·kubernetes·istio
张忠琳1 天前
【client-go v0.36.1】LeaderElection 深度分析(上篇)— 模块定位、结构、LeaderElector 核心逻辑
云原生·kubernetes·client-go·leaderelection
CJH(本人账号)1 天前
【AI安全】大模型安全威胁:Prompt注入与模型防御策略
人工智能·安全·机器学习·语言模型·云计算·prompt
牛奶咖啡131 天前
k8s容器编排技术实践——K8s中服务发现ingress、ingress controller 应用实践
kubernetes·服务发现·ingress·ingress-nginx·部署ingress-nginx·部署ingress的三种方法·ingress的服务发现原理
Linlingu1 天前
OpenClaw接入阿里云百炼模型配置教程(完整可落地)
人工智能·阿里云·云计算·办公自动化·数字员工·小龙虾
AKAMAI1 天前
当OpenClaw遇见Linode:一键部署7×24h云端AI助理
云计算·agent
张忠琳1 天前
【client-go v0.36.1】tools/cache 深度分析(中篇)— 辅助组件逐行解析
云原生·kubernetes·cache·informer·client-go
张忠琳1 天前
【client-go v0.36.1】WorkQueue 深度分析(下篇)— 限流队列、限流器、指标、并行化
云原生·kubernetes·informer·workqueue·client-go