【云原生 • Kubernetes】认识 k8s、k8s 集群、核心原理介绍

本文介绍了Kubernetes的基础知识,包括Pod、Node、Namespace等核心概念,以及Kubernetes集群的构成和工作原理,如etcd、apiserver、scheduler、kubelet等组件的角色。此外,还提到了Kubernetes集群的创建方法,如minikube和play-with-k8s,并概述了Kubernetes与Borg的架构对比。
摘要由CSDN通过智能技术生成

Kubernetes简介  

Kubernetes 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本,主要功能包括
  • 基于容器的应用部署、维护和滚动升级
  • 负载均衡和服务发现
  • 跨机器和跨地区的集群调度
  • 自动伸缩
  • 无状态服务和有状态服务
  • 广泛的Volume支持
  • 插件机制保证扩展性
Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。

Kubernetes 主要由以下几个核心组件组成:
  • etcd保存了整个集群的状态;
  • apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet负责维护容器的生命周期,同时也负责VolumeCVI)和网络(CNI)的管理;
  • Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡

Kubernetes基本概念

Pod

Pod 是一组紧密关联的容器集合,它们共享 IPC Network UTC namespace ,是Kubernetes调度的基本单位。 Pod 的设计理念是支持多个容器在一个 Pod 中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。

Kubernetes 中,所有对象都使用 manifest (yaml或 json )来定义,比如一个简单的nginx服务可以定义为 nginx.yaml ,它包含一个镜像为 nginx 的容器:
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
 

Node

Node Pod 真正运行的主机,可以物理机,也可以是虚拟机。为了管理 Pod ,每个 Node节点上至少要运行container runtime (比如 docker 或者 rkt )、 kubelet
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值