不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Docker

  • K8S

    • 01_Kubernetes概述

      • 01.K8S概述
        • 01. kubernetes简介
          • 1.1 Kubernetes是什么?(What)
          • 1.2 K8S用来作用?(Where)
          • 1.3 为什么使用K8S?(Why)
        • 02.kubernetes作用
      • 02.K8S架构
      • 03.K8S工作原理
      • 04.K8S生产环境部署的两种方法
    • 02_二进制搭建K8s集群

    • 03_kubeadm部署K8s

    • 04_Kubectl命令行管理工具

    • 05_资源编排(YAML)

    • 06_Pod对象管理

    • 07_Pod对象调度

    • 08_常用负载控制器

    • 09_Service统一入口访问

    • 10_Ingress对外暴露应用

    • 11_项目中实际应用K8s

  • 容器原理

  • Istio

  • 容器
  • K8S
  • 01_Kubernetes概述
xiaonaiqiang
2021-02-12
目录

01.K8S概述

# 01. kubernetes简介

# 1.1 Kubernetes是什么?(What)

  • Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S
  • Kubernetes是容器集群管理系统,是一个开源的平台
  • K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能

# 1.2 K8S用来作用?(Where)

  • 作用:

    • 1)快速部署应用
    • 2)快速扩展应用
    • 3)无缝对接新的应用功能
    • 4)节省资源,优化硬件资源的使用
  • 举例:

    • 1)Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着
    • 2)比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务

# 1.3 为什么使用K8S?(Why)

为了提高业务并发和高可用,会使用对台服务器,因此会出现一些问题

  • 多容器跨主机提供服务
  • 多容器分布节点部署
  • 多容器怎么升级
  • 怎么高效管理这些容器

传统方式结合docker部署弊端

  • 当然我们可以在多台机器上分别用docker部署相同的服务,然后使用nginx的upstream进行分发;

  • 重建容器遇到的问题

    • 但是如果我们需要对容器重建(删除旧容器,新建新容器)
    • 容器的ip是不固定的,会发生变化,对于nginx的upstream配置无法及时改变
  • 对容器进行升级:

    • 我们需要拉取新的容器镜像,然后把旧的容器镜像删除,然后使用新的容器镜像来起容器
    • 多台机器上同时自动化升级,我们如何避免影响业务

# 02.kubernetes作用

  • 自我修复

    • 在节点故障时重新启动失败的容器,替换和重新部署,保证预期我们设置的副本的数量;
    • 杀死健康检测失败的容器,并且在没有准备好之前是不会处理客户端请求的(不对外提供服务),保证线上服务不中断
  • 弹性伸缩(比如618活动,保证我们服务的快速缩容和扩容)

    • 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用的程序实例(容器的副本数)
    • 保证应用业务高峰并发时的高可用性;
    • 在业务低峰时期回收资源,以减小成本运行服务
  • 自动部署和回滚

    • k8s 采用滚动更新的策略更新应用,一次更新一个Pod,而不是同时删除所有的pod
    • 如果更新过程中出现问题,将回滚更改,确保升级不影响业务
上次更新: 2024/9/27 11:33:57
07.docker-compose项目实战
02.K8S架构

← 07.docker-compose项目实战 02.K8S架构→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式