K8s & docker 安装及部署

发表时间:2021-01-30 21:35

介绍&安装

Docker的好处

1、Docker 引擎统一了基础设施环境-docker环境

  • 硬件的配置

  • 操作系统的版本

  • 运行时环境的异构

2、Docker引擎统一了程序打包方式——docker镜像

  • java程序

  • python程序

  • nodejs程序

3、Docker引擎统一了程序部署运行方式——docker容器

  • java-jar -》docker run

  • python maange.py runserver -> docker run

  • npm run dev -> docker run

缺点

  • 单机使用,无法有效集群

  • 容器数量上升,管理成本攀升

  • 没有有效的容灾/自愈机制

  • 没有预设编排模板,无法实现快速、大规模容器调度

  • 没有统一的配置管理中心工具

  • 没有容器生命周期的管理工具

  • 没有图形化运维工具

Kubernetes 概述

谷歌爸爸、开源、一年四个版本、Golang

  • 词根源于希腊语:舵手,飞行员 K12345678S

  • 开源的容器编排框架工具(生态极其丰富)

优势

  • 自动装箱,水平扩展,自我修复

  • 服务发现和负载均衡

  • 自动发布(默认滚动发布模式)和回滚

  • 集中化配置管理和秘钥管理

  • 存储编排

  • 任务批处理运行

Kubernetes 快速入门

  • Pod/Pod控制器

  • Name/Namespace

  • Label/Label选择器

  • Service/Ingress

Pod/Pod控制器

Pod

  • Pod是K8s里能够被运行的最小的逻辑单元(原子单元)

  • 1个Pod里面可以运行多个容器,它们共享UTS+NET+IPC名称空间

  • 可以把Pod理解为豌豆荚,而同一Pod内的每个容器是一颗颗豌豆

  • 一个Pod里运行多个容器,又叫:边车模式(SideCar)

Name Vs. Namespace

Pod控制器

  • Pod控制器是Pod启动的一种模板,用来保证在K8S里启动的Pod应始终按照人们的预期运行

副本数、生命周期、健康状态检查

  • K8S内提供了众多的Pod控制器,常用的有:

(1)Deployment(2)DaemonSet(3)ReplicaSet(4)StatefulSet:管理状态(5)Job 任务(6)Cronjob 定时任务

Name/Namespace

Label/Label选择器

Service/Ingress

实验部署集群架构详解

部署K8s集群前准备工作

部署主节点服务

安装

mac直接安装: docker.com

参考链接:https://zhuanlan.zhihu.com/p/65559363