随笔分类 - 容器与云原生 / 云原生
摘要:一、调度器 1、调度器简述 kube-scheduler 负责分配调度 Pod 到集群内的节点上,它监听 kube-apiserver,查询还未分配 Node 的 Pod,然后根据调度策略为这些 Pod 分配节点(更新 Pod 的 NodeName 字段)。 调度器需要充分考虑诸多的因素: 公平调度
阅读全文
摘要:一、API Server 的概念 kube-apiserver是Kubernetes最重要的核心组件之一,主要提供以下的功能: 提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等; 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有
阅读全文
摘要:一、etcd概述 1、简介与特点 etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。 在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、
阅读全文
摘要:一、Google Borg (一)什么是云计算 什么是云计算 过去对于云管理或者叫作业管理主要有两条路,一个是以Openstack为典型的虚拟化平台,一个是以谷歌 borg 为典型的基于进程的作业调度平台。 以Openstack为典型的虚拟化平台,是吧很多物理机装上Hypervisor,在上面启动一
阅读全文
摘要:一、Helm (一)Helm简介 Helm 是 Kubernetes 的软件包管理工具。在K8S部署时,有deployment、service、rs、pv、pvc等等很多资源需要管理,就非常的麻烦,Helm就是来解决这个问题的。Helm类似于yum安装指令,统一对安装服务进行管理,使得用户不需要关系
阅读全文
摘要:一、PV&PVC (一)说明 对于有状态服务,使用Volume挂载,会存在数据丢失的问题,因此K8S使用数据持久卷(PV、PVC)来做容器的编排。 PV(PersistentVolume--持久卷)是一种特殊的Volume,其是一种Volume插件,其存在与集群内,是由管理员提供存储的一部分。它的生
阅读全文
摘要:一、资源控制器 K8S中内建了很多的控制器,这些控制器都是用来空指Pod的具体状态和行为。从控制器的角度来说,Pod可以分为自主式Pod和控制器管理的Pod。自主式的Pod一旦退出,该类型的Pod就不会被重新创建,而控制器管理的Pod,在控制器的生命周期里,始终要维持Pod的副本数量。 常用的控制器
阅读全文
摘要:一、Volumes Voumes是用来挂在数据的,其生命周期独立于pod中容器的生命周期,容器可能会被销毁或重建,但是Volumes会被保留,但是如果Pod不存在,Volumes也会随即消失。 对于可以挂在的卷其实有很多的选择,例如可以选择本地卷、网络卷、云盘、K8S自身资源等。 本地卷:直接挂载到
阅读全文
摘要:安装docker:yum -y install yum-utils device-mapper-persistent-data lvm2 配置一个稳定的仓库,仓库配置会保存到/etc/yum.repos.d/docker-ce.repo文件中 更新yum安装的相关Docker软件包&安装docker
阅读全文
摘要:Kubernetes(K8s)-k8s资源清单 一、k8s资源指令 1、基础操作 #创建且运行一个pod #deployment、rs、pod被自动创建 kubectl run my-nginx --image=nginx --port=80 #增加创建副本数量 kubectl scale depl
阅读全文
摘要:一、服务部署 新增配置yaml配置文件 # 创建一个service资源对象 # kubectl expose deployment xxName –port=80 –target-port=80 k8s指令模式创建一个service # k8s部署yaml方式 apiVersion: v1 kind
阅读全文
摘要:一、K8S云原生服务集群问题 (一)负载均衡原理 在之前的文章说过,每一个Pod都是独立的IP、HostName、存储,同时Pod是随时可以被动态创建和回收的,那么就有个问题,我们如何知道Pod的IP并进行访问的呢?其实K8S是使用Service VIP技术的虚拟ip + kube-proxy来解决
阅读全文
摘要:一、环境准备(可以不做) 1、禁用swap分区 vim /etc/fstab # 将下面的内容注释掉 #/dev/mapper/centos-swap swap 2、修改主机名及时间同步 # 设置主机名 hostnamectl set-hostname harbor # 时间同步 yum -y in
阅读全文
摘要:一、安装Kubernetes Dashboard 1、下载yaml文件 查看K8S版本:kubectl version,我的版本是1.15,那么就可以使用v2.0.0-beta4版本的Kubernetes-dashboard。版本的对应关系:https://github.com/kubernetes
阅读全文
摘要:一、环境准备 (一)机器环境 节点CPU核数必须是 :>= 2核 ,否则k8s无法启动 DNS网络: 最好设置为 本地网络连通的DNS,否则网络不通,无法下载一些镜像 linux内核: linux内核必须是 4 版本以上,因此必须把linux核心进行升级 准备3台虚拟机环境,或者是3台阿里云服务器都
阅读全文
摘要:一、K8S主要功能 K8s是用来对docker容器进行管理和编排的工具,其是一个基于docker构建的调度服务,提供资源调度、均衡容灾、服务注册、动态扩容等功能套件,其作用如下所示: (1)数据卷:pod中容器之间数据共享,可以使用数据卷 (2)应用程序健康检查:容器内服务可能发生异常导致服务不可用
阅读全文
摘要:一、虚拟化 虚拟化是一种资源管理技术,是将计算机的各种实体资源(CPU、网络、内存、磁盘等)予以抽象和转换后呈现出来,打破实体间不可切割的障碍。在实际的生产环境中,虚拟化主要解决高性能的物理硬件产能过剩和老旧物理硬件产能过低的重组重用两个问题。 常用的虚拟化技术: Docker: Docker是容器
阅读全文