K8S
K8S
犬豪
行我所行,无问西东
展开
-
K8S 快速入门(十九)通过Helm 安装 Kubernetes Dashboard
通过Helm 安装 Kubernetes Dashboard1. 下载# 将远程chart下载到本地# 更新一下helm下载的仓库地址源helm repo update# 使用fetch开始下载helm fetch stable/kubernetes-dashboard# 下载包如下所示,解压即可kubernetes-dashboard-1.11.1.tgz先更新下helm下载的仓库地址源,在使用fetch下载解压后看下文件内容:看下模板目录下的文件再看下values.原创 2020-12-25 11:06:25 · 723 阅读 · 0 评论 -
K8S 快速入门(十八)Helm
HelmHelm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、Kubernetes 等相关知识有一定的了解。 本文将介绍 Helm 中的相关概念和基本工作原理,并通过一些简单的示例来演示如何使用Helm来安装、升级、回滚一个 Kubernetes 应用。1. helm的理解1.1 Helm 是什么?Helm 是 Kubernetes 的包管理器。包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的 yum 或者Python中的 pip 一样,能快速查原创 2020-12-24 16:08:26 · 1417 阅读 · 0 评论 -
K8S 快速入门(十七)实战篇:Ingress
一、为什么引入Ingress?我们说k8s 的服务(service)时说暴露了service的三种方式ClusterIP、NodePort与LoadBalance,这几种方式都是在service的维度提供的,service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制,对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。但是,单独用service暴露服务的方式,在实际生产环境中不太合适:Cluste原创 2020-12-23 18:58:42 · 4161 阅读 · 0 评论 -
K8S 快速入门(十六)实战篇:StorageClass(存储类)
StorageClass存储类 官方文档1. 介绍StorageClass 为管理员提供了描述存储 “类” 的方法。 不同的类型可能会映射到不同的服务质量等级或备份策略,或是由集群管理员制定的任意策略。 Kubernetes 本身并不清楚各种类代表的什么。这个类的概念在其他存储系统中有时被称为 “配置文件”。2. StorageClass 资源每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在 StorageC原创 2020-12-22 15:06:26 · 29886 阅读 · 2 评论 -
K8S 快速入门(十五)实战篇:Headless Services、StatefulSet 部署有状态服务
11原创 2020-12-21 18:44:08 · 12230 阅读 · 0 评论 -
K8S 快速入门(十四)实战篇:持久卷(PV)、持久卷申领(PVC)
PV&PVC1. pv&pvc说明管理存储和管理计算有着明显的不同。PersistentVolume给用户和管理员提供了一套API,抽象出存储是如何提供和消耗的细节。在这里,我们介绍两种新的API资源:PersistentVolume(简称PV)和PersistentVolumeClaim(简称PVC)。PersistentVolume(持久卷,简称PV)是集群内,由管理员提供的网络存储的一部分。就像集群中的节点一样,PV也是集群中的一种资源。它也像Volume一样,是一种volum原创 2020-12-21 15:40:22 · 3575 阅读 · 1 评论 -
K8S 快速入门(十三)实战篇:存储 卷(Volume)
一、k8s-volumes1. 什么要用volumes?k8s中容器中的磁盘的生命周期是短暂的, 这就带来了一些列的问题当一个容器损坏之后, kubelet会重启这个容器, 但是容器中的文件将丢失----容器以干净的状态重新启动当很多容器运行在同一个pod中时, 很多时候需要数据文件的共享在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节点故障时,可能会导致数据的永久性丢失。volumes就是用来解决以上问题的Volume 的生命周期独立于原创 2020-12-19 17:00:49 · 3262 阅读 · 1 评论 -
K8S 快速入门(十二)实战篇:配置 ConfigMap&Secret
一、configMap官方文档 ConfigMap1. 动机我们经常都需要为我们的应用程序配置一些特殊的数据,比如密钥、Token 、数据库连接地址或者其他私密的信息。你的应用可能会使用一些特定的配置文件进行配置,比如settings.py文件,或者我们可以在应用的业务逻辑中读取环境变量或者某些标志来处理配置信息。我们要做到这个,有好多种方案,比如:我们可以直接在打包镜像的时候写在应用配置文件里面,但是这种方式的坏处显而易见而且非常明显。我们可以在配置文件里面通过 env 环境变量传入,但是这样原创 2020-12-18 18:23:47 · 1790 阅读 · 1 评论 -
K8S 快速入门(十一)实战篇:资源清单运作原理解析&Pod的生命周期&探针
一、资源控制器1. 什么是控制器?Kubernetes中内建了很多controller (控制器) ,这些相当于一个状态机,用来控制Pod的具体状态和行为RS、Deployment控制器用来控制pod的,还有一些其他控制器控制其他的资源Pod 的分类自主式 Pod:Pod 退出了,此类型的 Pod 不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目2. 常用控制器ReplicationController(旧版本)ReplicaSetDeplo原创 2020-12-17 18:17:27 · 1050 阅读 · 0 评论 -
K8S 快速入门(十)实战篇:搭建Registry&Harbor私有仓库、Dockerfile
这篇博文写的是两种不同的搭建Docker私有仓库的方法,都必须要基于一个Docker服务器上,相比较而言,Harbor功能更强大些。一、搭建Registry私有仓库之前详细写过Registry私有仓库的搭建方法,这里的Registry只是有一点配置不一样而已,若要搭建Registry私有仓库,最好结合:Docker镜像的创建+构建私有仓库及其使用方法这篇博文来,对比其不一样的地方,选择适合自己的方案。环境准备:两台centos 7.3,一台为Docker私有仓库服务器,另一台为测试端,两台须可p原创 2020-12-16 17:52:04 · 1137 阅读 · 0 评论 -
K8S 快速入门(九)实战篇:指令部署、yaml方式部署
一、k8s资源指令1. 常用命令# 查看k8s帮助文档 ----- 查询所有的指令kubectl --help# 查询节点信息(状态)kubectl get node #查询集群节点的信息kubectl get node -o wide #查询节点的详细信息kubectl get node == kubectl get nodes#注意:查询节点信息,Status:Ready 表示集群节点运行ok。# 查询pod(k8s最小的操作单元)对象指令kubectl get pod #查询p原创 2020-12-15 16:38:22 · 5889 阅读 · 1 评论 -
K8S 快速入门(八)实战篇:通过kubeadm构建K8S集群
Kubernetes(K8s)-k8s服务安装一、环境准备1、机器环境节点CPU核数必须是 :>= 2核 ,否则k8s无法启动节点内存:原则1G即可,但是有可能出现镜像下载失败的问题,最好2G以上DNS网络: 最好设置为 本地网络连通的DNS,否则网络不通,无法下载一些镜像linux内核: linux内核必须是 4 版本以上,因此必须把linux核心进行升级[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3E2NAF4I-1607337755884)(./1原创 2020-12-12 17:49:18 · 1697 阅读 · 0 评论 -
K8S 快速入门(七)网络通信原理:外部接入网络(下)
三、外部接入网络1. NodePort先提前强调一下,NodePort是K8s将内部服务对外暴露的基础,后面的LoadBalancer底层有赖于NodePort。如下图所示,首先不妨思考一下,K8s集群中有哪一个角色,即掌握Service网络的所有信息,可以和Service网络以及Pod网络互通互联,同时又可以和节点网络打通?答案是Kube-Proxy。上面我们提到Kube-Proxy是K8s内部服务发现的一个关键组件,事实上,它还是K8s将内部服务暴露出去的关键组件。Kube-Proxy在K8s原创 2020-12-06 18:27:46 · 2761 阅读 · 1 评论 -
K8S 快速入门(六)网络通信原理:Service网络(中)
二、Service网络1. 服务集群使用k8s部署服务,所有的服务都部署在pod内部的容器中,服务集群就需要多个pod副本实现。思考:那么多个pod副本实现负载均衡访问,该如何实现呢???解决方案: 使用nginx实现负载均衡??nginx也在一个pod中使用nginx实时多个pod副本直接负载均衡访问。问题:Pod是一个服务进程,有生命周期,并且pod随时可能宕机,k8s立马对pod进行重建,但是此时重建的pod的ip,hostname都发生了变化(无状态的pod)。此时nginx原创 2020-12-06 18:27:15 · 3716 阅读 · 4 评论 -
K8S 快速入门(五)网络通信原理:Pod网络(上)
一、Pod网络1. Pod结构Pod的特点:容器1、有自己的IP地址2、有自己的hostname3、有自己的端口Pod实际上可以理解为就是k8s云平台中的虚拟机,而这个pod内部封装的是由docker引擎所创建的容器,也可以理解为pod就是一个虚拟化分组,pod内部可以存储一个或者多个容器。所谓Pod网络,就是能够保证K8s集群中的所有Pods(包括同一节点上的,也包括不同节点上的Pods),逻辑上看起来都在同一个平面网络内,能够相互做IP寻址和通信的网络,下图是Pod网络的简化概念模型:原创 2020-12-06 18:26:44 · 7228 阅读 · 1 评论 -
K8S 快速入门(四)Pod原理、核心组件工作原理
一、Pod核心原理1. Pod是什么?Pod的特点:封装docker容器的容器1、有自己的IP地址2、有自己的hostnamePod实际上也相当于是一个独立的容器(虚拟机器),而这个pod容器内部封装的是由docker引擎所创建的容器,可以理解为pod就是一个虚拟化分组,pod内部可以存储一个或者多个容器。2. Pod作用Pod内部封装的是容器,容器内部运行是开发的应用程序。Pod管理上线的运行的应用程序定义:在通常情况下,在服务上线部署的时候,pod通常被用来部署一组相关的服务。(什么原创 2020-12-05 17:03:22 · 2665 阅读 · 1 评论 -
K8S 快速入门(三)基本认识、架构、基本组件原理
一、基本认识1. borg系统Borg. Google的Borg系统运行几十万个以上的任务,来自几千个不同的应用,跨多个集群,每个集群(cell)有上万个机器。它通过管理控制、高效的任务包装、超售、和进程级别性能隔离实现了高利用率。它支持高可用性应用程序与运行时功能,最大限度地减少故障恢复时间,减少相关故障概率的调度策略。以下就是Borg的系统架构图。其中Scheduler负责任务的调度。2. k8s基本介绍就在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业原创 2020-12-05 15:30:14 · 1570 阅读 · 0 评论 -
K8S 快速入门(二)云原生、容器编排
4. 云原生4.1 云计算平台云计算3层结构:1、iaas [infrastructure as a service] 基础设施级服务公司: 服务器购买,建设机房,DNS,路由器,硬件,存储………… – 抽象成服务提供给公司(用户)使用云计算提供厂商:阿里云,腾讯云,私有云平台 — 提供:存储,网络,dns,服务器硬件资源 ………2、paas[platform as a service] 平台级服务在iaas基础上进行了更高层次的抽象,iaas提供硬件层服务,paas提供了基础原创 2020-12-04 18:34:50 · 1408 阅读 · 1 评论 -
K8S 快速入门(一)虚拟化、容器化构建云计算平台的基本概念及原理解析
虚拟化&云原生基本概念及原理解析本章主题1.认识kubernetes(k8s)在企业中实际的应用场景 — 为什么要学习k8s?2.云技术 — 虚拟化及虚拟机基本理念和原理3.云技术 — 容器技术及容器基本原理4.云原生 — 云计算、私有云、公用云、混合云为什么要学习k8s?1、互联网企业可以利用k8s构建一套自动化的运维平台(运维工作:自愈、自动伸缩……) ---- 降本增效2、互联网项目拆分为多个服务(soa,微服务架构),这么多服务利用非常多的服务器资源(物理机,虚拟机)原创 2020-12-03 13:31:25 · 5201 阅读 · 1 评论