Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 0、前言整体架构目录:ASP.NET Core分布式项目实战-目录k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录一、环境规划  软件版本LinuxCentOS7 18.

0、前言

整体架构目录:ASP.NET Core分布式项目实战-目录

k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

一、环境规划

 


 

软件 版本
Linux CentOS7 18.04
Kubernetes 1.9(也适用1.10)
Docker 18.06-ce
etcd 3.0

 

服务 IP 组件
master01 192.168.161.151

kube-apiserver

kube-controller-manager

kube-scheduler

etcd

(主master)

master02 192.168.161.150

kube-apiserver

kube-controller-manager

kube-scheduler

(后期主要为扩展为master高可用说明)

node01 192.168.161.152

kubelet

kube-proxy

docker

flannel

etcd

node02 192.168.161.153

kubelet

kube-proxy

docker

flannel

etcd

 

二、Kubernetes(k8s)介绍、系统架构及组件功能


 

1、k8s介绍

具体介绍可自行去官网查看:www.kubernetes.io ,这边主要说明k8s是用来干什么的,k8s主要用来自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能,目标是让部署容器化应用简单高效

2、基本对象概念

Pod:Pod是最小部署单元,一个Pod有一个或多个容器组成,Pod中容器共享存储和网络,在同一台Docker主机上运行。 

Service:

Service一个应用服务抽象,定义了Pod逻辑集合和访问这个Pod集合的策略。
Service代理Pod集合对外表现是为一个访问入口,分配一个集群IP地址,来自这个IP的请求将负载均衡转发后端Pod中的容器。
Service通过Lable Selector选择一组Pod提供服务

Volume: 数据卷,共享Pod中容器使用的数据

Namespace:

命名空间将对象逻辑上分配到不同Namespace,可以是不同的项目、用户等区分管理,并设定控制策略,从而实现多租户。
命名空间也称为虚拟集群。

Lable: 标签用于区分对象(比如Pod、Service),键/值对存在;每个对象可以有多个标签,通过标签关联对象

 

ReplicaSet:

下一代Replication Controller。确保任何给定时间指定的Pod副本数量,并提供声明式更新等功能。
RC与RS唯一区别就是lable selector支持不同,RS支持新的基于集合的标签,RC仅支持基于等式的标签

 

Deployment:
Deployment是一个更高层次的API对象,它管理ReplicaSets和Pod,并提供声明式更新等功能。
官方建议使用Deployment管理ReplicaSets,而不是直接使用ReplicaSets,这就意味着可能永远不需要直接操作ReplicaSet对象。

StatefulSet:
StatefulSet适合持久性的应用程序,有唯一的网络标识符(IP),持久存储,有序的部署、扩展、删除和滚动更新。

DaemonSet:
DaemonSet确保所有(或一些)节点运行同一个Pod。当节点加入Kubernetes集群中,Pod会被调度到该节点上运行,当节点从集群中
移除时,DaemonSet的Pod会被删除。删除DaemonSet会清理它所有创建的Pod。

Job:
一次性任务,运行完成后Pod销毁,不再重新启动新容器。还可以任务定时运行

 

3、系统架构及组件

 

 

Master组件:

kube-apiserver:
Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。

kube-controller-manager:
处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。

kube-scheduler:
根据调度算法为新创建的Pod选择一个Node节点。


Node组件:

kubelet:
kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、
下载secret、获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。 

kube-proxy:
在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。 

docker:运行容器。


第三方服务: 

etcd
分布式键值存储系统。用于保持集群状态,比如Pod、Service等对象信息。

 

4、下一篇就是开始集群部署啦

主要讲解第一部分的:自签TLS证书和部署Etcd集群


 

asp.net Core 交流群:787464275 欢迎加群交流
如果您认为这篇文章还不错或者有所收获,您可以点击右下角的【推荐】按钮精神支持,因为这种支持是我继续写作,分享的最大动力!

作者:LouieGuo
声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!

微信公众号:欢迎关注                                                 QQ技术交流群: 欢迎加群

                

LouieGuo
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
10天前
|
Prometheus Kubernetes 监控
如何在Kubernetes环境下使用第三方监控系统监控Docker容器性能?
如何在Kubernetes环境下使用第三方监控系统监控Docker容器性能?
331 145
|
8天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
117 5
|
9天前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
|
弹性计算 应用服务中间件 Linux
基于ECS快速搭建Docker环境
本教程介绍如何快速搭建Docker环境,并使用Docker部署一个Nginx服务。
基于ECS快速搭建Docker环境
|
弹性计算 运维 Linux
【ECS进阶实践Day2】笔记 基于ECS快速搭建Docker环境
快速搭建Docker环境,并使用Docker部署一个Nginx服务。
570 1
|
弹性计算 应用服务中间件 nginx
|
弹性计算 应用服务中间件 Linux
基于ECS快速搭建Docker环境(进阶班-Day2)
安装Docker总结下来只需要4步: 1、安装Docker-CE 2、配置加速镜像(国内网络原因导致) 3、使用Docker安装Nginx服务 4、测试Nginx
1820 0
基于ECS快速搭建Docker环境(进阶班-Day2)
|
弹性计算 应用服务中间件 Linux
基于ECS快速搭建Docker环境
1. 创建资源 2. 连接ECS服务器 3. 安装Docker CE 4. 配置阿里云镜像仓库(镜像加速) 5. 使用Docker安装Nginx服务
基于ECS快速搭建Docker环境
|
弹性计算 应用服务中间件 Linux
DAY 2 ||ECS快速搭建Docker环境
基于ECS实例快速搭建一个Docker环境,并在Docker环境中部署一个Nginx服务。
DAY 2  ||ECS快速搭建Docker环境
|
弹性计算 应用服务中间件 Linux

相关产品

  • 容器服务Kubernetes版