天天看点

服务器开发29:Kubernetes (K8S)上手简单实践(2/13)

文章目录

    • 一、Kubernetes (K8S) 简介
      • 1)简介
      • 2)主要特性:
      • 3)学习前提
      • 4)不同部署方案
      • 5)为什么需要K8S
      • 6)K8S集群架构
      • 7)Kubernetes 组件
    • 二、安装k8s集群
      • 1)安装方式介绍
      • 2)安装方式对应的方法
      • 2)云平台搭建
      • 3)裸机搭建(Bare Metal)
    • 三、部署应用到集群中
    • 四、Service
    • 五、StatefulSet
    • 六、数据持久化
    • 七、ConfigMap&Secret
    • 八、Helm&命名空间
    • 九、Ingress
    • 十、其他补充

一、Kubernetes (K8S) 简介

1)简介

它是一个为 容器化 应用提供集群部署和管理的开源工具,由 Google 开发。Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目

2)主要特性:

  • 高可用,不宕机,自动灾难恢复
  • 灰度更新,不影响业务正常运转
  • 一键回滚到历史版本
  • 方便的伸缩扩展(应用伸缩,机器加减)、提供负载均衡有一个完善的生态

3)学习前提

熟悉 Docker 的基本使用,如果你还不了解 Docker,先看视频 Docker 快速上手熟悉 Linux 操作系统,传送门:docker学习笔记(k8s云原生学习前瞻)

4)不同部署方案

服务器开发29:Kubernetes (K8S)上手简单实践(2/13)

①传统部署方式:

应用直接在物理机上部署,机器资源分配不好控制,出现Bug时,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离。

②容器部署

所有容器共享主机的系统,轻量级的虚拟机,性能损耗小,资源隔离,CPU和内存可按需分配

③虚拟机部署

在单个物理机上运行多个虚拟机,每个虚拟机都是完整独立的系统,性能损耗大。

5)为什么需要K8S

①当你的应用只是跑在一台机器,直接一个 docker + docker-compose 就够了,方便轻松;

②当你的应用需要跑在 3,4 台机器上,你依旧可以每台机器单独配置运行环境 + 负载均衡器;

③当你应用访问数不断增加,机器逐渐增加到十几台、上百台、上千台时,每次加机器、软件更新、版本回滚,都会变得非常麻烦、痛不欲生,

④用轻松管理百万千万台机器的集群

6)K8S集群架构

服务器开发29:Kubernetes (K8S)上手简单实践(2/13)

①master

主节点,控制平台,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度。

②worker

工作节点,可以是虚拟机或物理计算机,任务都在这里跑,机器性能需要好点;通常都有很多个,可以不断加机器扩大集群;每个工作节点由主节点管理

③重要概念 Pod

豆荚

K8S 调度、管理的最小单位

,一个 Pod 可以包含一个或多个容器,每个 Pod 有自己的虚拟IP。

一个工作节点可以有多个 pod

,主节点会考量负载自动调度 pod 到哪个节点运行。

服务器开发29:Kubernetes (K8S)上手简单实践(2/13)

7)Kubernetes 组件

kube-apiserver

API 服务器,公开了 Kubernetes API

etcd

键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库

kube-scheduler

调度 Pod 到哪个节点运行

kube-controller

集群控制器

cloud-controller

与云服务商交互

服务器开发29:Kubernetes (K8S)上手简单实践(2/13)

https://k8s.easydoc.net/docs/dRiQjyTY/28366845/6GiNOzyZ/9EX8Cp45

二、安装k8s集群

1)安装方式介绍

minikube

只是一个 K8S 集群模拟器,只有一个节点的集群,只为测试用,master 和 worker 都在一起

直接用云平台 Kubernetes

可视化搭建,只需简单几步就可以创建好一个集群。

优点:安装简单,生态齐全,负载均衡器、存储等都给你配套好,简单操作就搞定

裸机安装(Bare Metal)

至少需要两台机器(主节点、工作节点个一台),需要自己安装 Kubernetes 组件,配置会稍微麻烦点。

可以到各云厂商按时租用服务器,费用低,用完就销毁。

缺点:配置麻烦,缺少生态支持,例如负载均衡器、云存储

2)安装方式对应的方法

2)云平台搭建

3)裸机搭建(Bare Metal)

三、部署应用到集群中

四、Service

五、StatefulSet

六、数据持久化

七、ConfigMap&Secret

八、Helm&命名空间

九、Ingress

十、其他补充

继续阅读