文档章节

k8s集群搭建指南

o
 osc_n6euf5h6
发布于 2019/03/19 17:55
字数 636
阅读 7
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、简介

Ansible

Docker

  Docker compose,docker swarm,docker machine

  Mesos,marathon

  Kubernetes(占据80%的市场)

DevOps:

  Devops,MicroServices,Blockchain

    CI:持续集成

    CD:持续交付,Delivery

    CD:持续部署,Deployment

      Plan-设计-开发-构建-测试(自动实现这一系列流程叫持续集成)

        -运维(获取打包好的包叫持续交付)

        - 持续部署

K8s(剁手,飞行员):

Borg

  https://github.com/kubernetes

 

  自动装箱(自动完成部署)

  自我修复

  水平扩展

  服务发现和负载均衡

  自动发布和回滚

  秘钥和配置管理集中化(配置中心)

  存储编排

  批量处理执行

集群:

  许多台主机当成一台主机来使用

  有中心节点架构的模型

  Master/nodes

  Master(高可用,3)

    组件叫API Server

    调度器(scheduler):负责观测node的节点资源使用情况(预选,优选)

    控制器管理器(controller manager)---主备

 

  Nodes(worker):运行容器的节点

    Client->master-node

    Kubelet:集群代理(启动并管理pod)

    容器引擎:docker

 

  Pod:k8s最小的调度的逻辑单元

    容器的外壳,pod内运行容器,共享natutsipc

    共享存储卷

    一般来说一个pod内只放一个容器

    在一个资源池内进行统一管理(dockfile中打标签来进行区分)

     

    Label Selector:标签选择器

    Label: K=v

 

Master/node

  Pod分类:

    自主式pod

    控制器管理的pod

      replicationController:副本控制器

        管理pod状态

        滚动更新

      replicaSet

      Deployment(管理无状态的pod)

      statefuSet(有状态的)

      DaemonSet

      Job,cronjob

 

  HPA(HorizonTalPodAutoscaler):自动控制器,根据负载需求调整pod个数

    Pod生命周期需要用到服务发现机制

      Service管理pod(调度),根据label标签来关联pod对象

      Client - >service -> pod*N

      DNSservice进行解析

    AddOns:附件(附加组件)

 

  客户端和pod之间的桥梁:service(固定不变)

    Label(标签):固定不变,连接service-----名称解析(DNS)

NMT

  Nginx对外:

  Tomcat

  M:db

   

 

  LBaas

 

 

  K8s网络(三个网段的网络)

    Pod网络

    Service(集群)网络(虚拟网络只存在与iptablesipvs之中)

    节点网络

  Overlay Network,叠加网络

    同一个pod内的多个容器间:lo

    各个pod之间的通信(snat-dnat,两级pod转换),通过主机访问pod

    Podservice之间的通信(宿主机规则)

 

  Kube-proxy:

    对service进行管理

  共享存储

    Etcd

 

 

  CNI:容器网络接口(网络解决方案)

    Flannel:网络配置(叠加网络)

    Calico:支持网络配置和网络策略(三层隧道网络)

    Canel(Flannel+Calico):

架构图:

     

     

      

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
本机搭建三节点k8s集群

原文出处:Rainstorm 毕业设计题目是写一个基于微服务的高可用应用系统。微服务的部署使用 docker + k8s,所以前提是要有一个 k8s 集群。搭建过程中遇到了一些坑,把整个流程 记录下来一是回...

Rainstorm
2018/11/19
0
0
Kubadem方式安装Kubernetes(1.10.0)集群

背景 kubernetes已经是现有的docker容器管理工具中必学的一个架构了,相对与swarm来说,它的架构更重,组件和配置也更复杂,当然了,提供的功能也更加强大。在这里,k8s的基本概念和架构就不...

icenycmh
2018/05/29
0
0
Kubernetes: 集群网络配置 - flannel

参考: [ Kubernetes 权威指南 ] <br> Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群实践 ]<br> 在多个 Node 组成的 Kubernetes 集群内, Kubernetes 本身不会对跨主机容器网络...

osc_yyhakgol
2018/11/21
2
0
【从入门到放弃-Kubernetes】Kubernetes入门

前言 云原生势不可挡,了解云原生肯定绕不开Kubernetes,这里不对云原生、Kubernetes概念做过多描述,直接开干,在本地搭建Kubernetes环境并了解基础操作。 参考文档: kubernetes官方文档 ...

aloof_
04/15
0
0
Kubadem方式安装Kubernetes(1.10.0)集群

背景 kubernetes已经是现有的docker容器管理工具中必学的一个架构了,相对与swarm来说,它的架构更重,组件和配置也更复杂,当然了,提供的功能也更加强大。在这里,k8s的基本概念和架构就不...

icenycmh
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么从HBase的0.96版本开始,舍弃了-ROOT-文件?

HBase结构的读写流程 (1). HBase0.96版本之前: (2). HBase0.96开始: a. 当客户端获取到.meta文件的位置之后,会缓存.meta.文件的位置 b. 客户端还会缓存HRegion的位置 -ROOT-存在的意义: ...

其乐m
35分钟前
18
0
volatile关键字对 - What is the volatile keyword useful for

问题: At work today, I came across the volatile keyword in Java. 今天的工作中,我遇到了Java中的volatile关键字。 Not being very familiar with it, I found this explanation: 不太熟......

技术盛宴
41分钟前
25
0
golang 封装 mysql 和 redis 连接

Mysql封装 package dbimport ("fmt"_ "github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx")var DB *sqlx.DBfunc init(){database, err := sqlx.Op......

开源中国最牛的人
41分钟前
16
0
pdfbox 读取文件报错 java.io.IOException: Page tree root must be a dictionary

pdfbox java.io.IOException: Page tree root must be a dictionary 示例代码 public static void main(String[] args) { try (InputStream sampleInputs = new ClassPathResource("s......

lemos
50分钟前
28
0
整理 Linux下列出目录内容的命令

在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务。当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令。但只有 ls 命令能实现这个目的吗?...

良许Linux
51分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部