【kubernetes入门学习笔记】

k8s基础入门

第一章 初探kubernetes(K8S)


文章目录

  • k8s基础入门
    • 前言
    • 一、优势和特性:
      • 1.自动装箱
      • 2.自我修复
      • 3.水平扩展
      • 4.服务发现
      • 5.滚动更新
      • 6.版本回退
      • 7.密钥和配置管理
      • 8.存储编排
      • 9.批处理
    • 二、K8s的集群架构组成:
      • 1.架构图:
      • 2.Master Node(主控节点)
      • 3.Work Node(工作节点)
    • 三、K8s三大基本核心概念
      • 1.Pod:容器副本
      • 2.Controller:通过它来创建部署pod
      • 3.Service:通过service来作为统一入口进行访问
    • 四、如何从零搭建k8s集群
      • 1.搭建k8s环境平台规划
      • 2.服务器硬件配置要求
      • 3.搭建k8s集群部署方式
      • 五、k8s的核心概览


前言

官网地址
kubernetes是2014年谷歌开源的,容器化集群管理系统,简称:k8s。
谷歌、京东、 360、等大厂都全面拥抱 k8s 容器化是大势所趋 linux docker

  • 使用k8s进行容器化应用部署
  • 使用k8s利于应用扩展
  • 使用k8s的目标是让容器化应用更加简洁和高效

一、优势和特性:

1.自动装箱

基于容器对应用运行环境的资源配置要求自动部署应用容器。

2.自我修复

当容器失败时,会对容器进行重启。
当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务。

3.水平扩展

通过简单的命令,用户UI界面或基于CPU等资源使用情况。对容器进行规模扩大或规模剪裁。

4.服务发现

用户不需要使用额外的服务发现机制,就能够基于Kubernetes自身能力实现服务发现和负载均衡。

5.滚动更新

可以根据应用的变化,对应用容器运行的应用,进行一次性或批量更新。

6.版本回退

可以根据应用部署的情况,对应用容器运行的应用,进行历史版本即时回退。

7.密钥和配置管理

在不需要重新构建新镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。

8.存储编排

自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。
存储系统可以来自于本地目录,网络存储(NFSGlusteCeph)等、公共云存储服务。

9.批处理

提供一次性任务,定时任务,满足批量数据处理和 分析的场景

二、K8s的集群架构组成:

1.架构图:

【kubernetes入门学习笔记】_第1张图片

2.Master Node(主控节点)

  • api-server :集群统一入口,以restful风格来请求,然后交给etcd存储
  • scheduler :节点调度,选择node节点应用部署
  • controller-manager :处理集群中常规后台任务,资源控制,一个资源对应一个控制器
  • etcd:是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。用于报存集群相关的数据

3.Work Node(工作节点)

  • **kubelet **:master 节点派到 node节点的代表,管理本机容器的各种操作(创建、生命周期、)
  • kube-proxy: 提供网络代理、负载均衡等操作
  • Docker
    • Podpod中就是容器应用的副本

三、K8s三大基本核心概念

1.Pod:容器副本

  • 最小部署单元
  • 一组容器的集合
  • 共享网络
  • 生命周期是短暂的

2.Controller:通过它来创建部署pod

  • 确保预期的pod副本数量
  • 无状态应用部署
  • 无状态其实就是这个pod副本可以直接用,不需要什么特定的约定
  • 有状态应用部署
  • 就是这个pod副本不能可以直接用(可能它依赖数据存储、网络ip唯一)
  • 确保所有的node运行同一个pod
  • 一次性任务和定时任务

3.Service:通过service来作为统一入口进行访问

  • 定义一组pod的访问规则

总结:通过service来作为统一入口进行访问,然后由controller去创建进行部署pod

四、如何从零搭建k8s集群

1.搭建k8s环境平台规划

  • 单master集群
    【kubernetes入门学习笔记】_第2张图片

  • 多master集群(node和master的中间多了负载均衡)
    【kubernetes入门学习笔记】_第3张图片

2.服务器硬件配置要求

  • 测试环境(master 2核4G 20G ;Node 4核8G 40G)—最低
  • 生产环境(master 8核16G 100G ;Node 16核64G 500G)—最低

3.搭建k8s集群部署方式

  • 基于客户端工具 kubeadm
    • kubeadm init : 创建一个master节点
    • kubeadm join :将node节点加入到当前集群中
  • 基于二进制包方式 (这个相对麻烦一些)

五、k8s的核心概览

  • Pod:最小单元
  • Controller:控制层
  • Server、Ingress:对外暴露端口
  • RBAS:安全控制模型
  • Helm:包管理工具

你可能感兴趣的:(kubernetes,docker,devops)