
Kubernetes
从实践到理论
Developer.lulu
自由而不独立,仍是奴隶
展开
-
[Kubernetes]关于 Kubernetes ,你想要的,都在这儿了
陆陆续续,关于 KUbernetes 写了有 20+ 篇文章了.今天这篇文章来一个整合,从实践到理论,可以按需查看(我是按照博客发表时间来排序的).实践篇(共 11 篇):[Docker]CentOS7下Docker安装教程[Kubernetes]CentOS7下搭建Harbor仓库[Kubernetes]CentOS7下Etcd集群搭建[Kubernetes]CentOS7部署Kub...原创 2019-04-18 15:51:17 · 836 阅读 · 12 评论 -
[Kubernetes]容器日志的收集与管理
在开始这篇文章之前,首先要明确一点: Kubernetes 中对容器日志的处理方式,都叫做 cluster-level-logging ,也就是说,这个日志处理系统,与容器, Pod 以及 Node 的生命周期都是完全无关的.其实想想也能知道,这种设计就是为了保证,无论是容器宕了, Pod 被删除甚至是节点宕机的时候,日志处理系统仍然可以被正常获取到,从而可以分析原因所在.而对于一个容器来说,当...原创 2019-04-13 13:21:58 · 1140 阅读 · 5 评论 -
[Kubernetes] CRI 的设计与工作原理
CRI 机制能够发挥作用的核心,在于每一个容器项目现在都可以自己实现一个 CRI shim ,自行对 CRI 请求进行处理.这样, Kubernetes 就有了一个统一的容器抽象层,使得下层容器在运行的时候,可以自由地对接,从而进入 Kubernetes 当中去.咱们来看看,有了 CRI 之后, Kubernetes 的架构图:...原创 2019-04-07 20:53:02 · 1066 阅读 · 5 评论 -
[Kubernetes]资源模型与资源管理
作为 Kubernetes 的资源管理与调度部分的基础,需要从它的资源模型说起.资源管理模型的设计我们知道,在 Kubernetes 里面, Pod 是最小的原子调度单位,这就意味着,所有和调度和资源管理有关的属性,应该都是属于 Pod 对象的字段,而在这些字段中,最重要的部分就是 Pod 的 CPU 和内存配置.在 Kubernetes 中,像 CPU 这样的资源被称作"可压缩资源"( c...原创 2019-03-31 21:35:54 · 1144 阅读 · 4 评论 -
[Kubernetes]说说 Service 与 Ingress
在 Kubernetes 中, Service 有三种对外暴露的方法,但是由于每个 Service 都要有一个负载均衡的服务,所以采用 Service 的话,会造成既浪费成本又高的现象.对于用户来说,我更希望的是,能有一个全局的负载均衡器,然后我只需要通过访问 URL 就可以把请求转发给不同的后端 Service ,从而可以访问到界面.而不是每个 Service 都需要负载均衡.而这,就引出了 ...原创 2019-03-24 08:23:32 · 2984 阅读 · 11 评论 -
[Kubernetes]谈谈容器跨主机网络
继上篇文章,自己给自己挖的坑,这篇文章来谈谈容器跨主机网络.要理解容器"跨主通信"的原理,就要来谈谈 Flannel 这个项目.Flannel 项目是 CoreOS 公司主推的容器网络方案.提供容器网络功能的,分别是: VXLAN , host-gw , UDP .这三种不同的实现,代表了三种容器跨主机网络的主流实现方法.这里主要讲 VXLAN 和 UDP 模式. host-gw 模式,我目...原创 2019-03-16 15:39:47 · 1694 阅读 · 9 评论 -
[Kubernetes]浅谈容器网络
Veth Pair 这部分内容主要介绍一个设备: Veth Pair .作为一个容器,它可以声明直接使用宿主机的网络栈,即:不开启 Network Namespace .在这种情况下,这个容器启动后,直接监听的就是宿主机的 80 端口.像这样直接使用宿主机网络栈的方式,虽然可以为容器提供良好的网络性能,但也会不可避免地引入共享网络资源的问题,比如端口冲突.所以,在大多数情况下,我们都希望容器...原创 2019-03-10 18:48:07 · 2622 阅读 · 4 评论 -
[Kubernetes]PV,PVC,StorageClass之间的关系详解
在Kubernetes中,容器化一个应用比较麻烦的地方莫过于对其"状态"的管理,而最常见的"状态",莫过于存储状态.在[Kubernetes]深入理解StatefulSet这篇文章中,稍微提了一下PV(Persistent Volume)和PVC(Persistent Volume Claim),那么它们在说什么呢.大概了解我先大体说一下整个过程,有一个小小的认识,然原创 2019-03-02 16:15:11 · 4950 阅读 · 10 评论 -
[Kubernetes]基于角色的权限控制之RBAC
原创 2019-02-24 17:57:34 · 1293 阅读 · 15 评论 -
[Kubernetes]深入理解StatefulSet
原创 2019-02-16 21:54:13 · 8157 阅读 · 12 评论 -
[Kubernetes]编排其实很简单
Kubernetes中,我们总是在说一个概念:编排.在[Kubernetes]谈谈Kubernetes的本质这篇文章中,关于"编排"的概念介绍了一下:过去很多集群管理项目所擅长的都是把一个容器,按照某种规则,放置在某个最佳节点上运行起来,这种功能我们称为"调度".但Kubernetes项目所擅长的,是按照用户原创 2019-01-28 21:52:41 · 1076 阅读 · 21 评论 -
[Kubernetes]深入解析Pod对象
k8s集群搭建是比较容易的,但是我们为什么要搭建,里面涉及到的内容,我们为什么需要?这篇文章就尝试来讲讲,我们为什么需要一个Pod.原创 2019-01-21 21:36:38 · 791 阅读 · 18 评论 -
[Kubernetes]谈谈Kubernetes的本质
当下k8s算是比较火的一个内容,那么它到底是什么呢,它为什么会这么火呢,它解决的是什么问题呢.这篇文章就尝试着来讲讲,Kubernetes的本质.当我们谈Kubernetes的时候,总是会想起来Docker.是的,如果想要知道Kubernetes解决的是什么问题,我们不可避免的再回到Docker上面,回到容器上面来.在"开发-测试-发布"的流程中,真正承载着容器信息进行传递的,是容器镜像.所以...原创 2019-01-19 22:41:49 · 1294 阅读 · 21 评论 -
[Kubernetes]如何让集群为我们工作?
前一段时间倒腾k8s的时候,写了一系列的博客,有很多人不理解那样做的意义是什么,为什么要那样做,这篇文章就尝试解释一下,在实际环境中,是如何让集群为我们工作的.因为只研究了一个月左右的时间,认识难免有偏颇之处,到时还望指出....原创 2019-01-14 17:36:12 · 617 阅读 · 15 评论 -
[Linux容器]当我们谈容器的时候,我们在谈什么
Docker在当下很火,那么,当我们谈Docker,谈容器的时候,我们在谈什么?或者说,你对Docker,对容器了解吗?容器,到底是怎么一回事儿?容器其实是一种沙盒技术.顾名思义,沙盒就是能够像一个集装箱一样....原创 2019-01-12 19:35:00 · 981 阅读 · 9 评论 -
[Harbor]Harbor简要介绍
Harbor架构图:原创 2019-01-01 17:26:36 · 2219 阅读 · 8 评论 -
[Kubernetes]yaml文件详解
应前一段时间夸下的海口:[Kubernetes]如何使用yaml文件使得可以向外暴露服务,说过要写一篇关于yaml文件详解的文章出来的,今天来总结一下. YAML基础YAML(Yet Another Markup Language)不是一种标志语言.它的应用很广泛,在这里着重讲一讲,在Kubernetes中的一些内容.使用YAML用于k8s的定义将给你一些好处,包括:便捷性:你将不再需要添...原创 2019-01-01 14:11:11 · 1863 阅读 · 6 评论 -
[Kubernetes]安装和配置kubectl
安装kubectl安装kubectl比较简单,几条命令即可(#后面为注释内容):#下载最新版本: curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/...原创 2018-12-28 15:08:21 · 2066 阅读 · 15 评论 -
[Docker]如何批量删除镜像
docker 使用一段时间之后,可能堆积很多用不着的,或者编译错误的镜像,一个一个删除就很麻烦,需要一个批量删除的方法,如下:docker rmi $(docker images | grep "provider" | awk '{print $3}')上面这条命令,可以删除所有名字中带 “provider” 关键字的镜像, grep 后面的参数,就是筛选出名字中包含这个参数的镜像.可以通过...原创 2018-12-24 11:44:29 · 3443 阅读 · 16 评论 -
[Kubernetes]如何使用yaml文件使得可以向外暴露服务
最近因为项目需要上线,所以这段时间都扑到了Kubernetes上面.今天老大交代了一个任务,大概就是这样的:看起来挺简单的,因为相关文件都给我了,我以为直接把文件拖上去,然后在访问ip:port方式就可以了.结果是这样的:结果到处搜了之后,发现自己理解错了.将yaml文件创建好之后,还需要执行命令,使得它有效果才行.在这里我就直接上图片了,具体执行命令,读者可以根据自己的实际情况我首...原创 2018-12-23 14:14:29 · 1030 阅读 · 13 评论 -
[Jenkins]CentOS7下Jenkins搭建
最近在倒腾Kubernetes的一些东西,这次需要用到Jenkins来实现自动化构建.来讲一讲从零开始的整个过程. Jenkins是什么Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中(例如Apache Tomcat).它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以...原创 2018-12-22 08:31:16 · 5644 阅读 · 12 评论 -
[Docker]Docker拉取,上传镜像到Harbor仓库
需求因为项目的需求,需要制作一个基于tomcat的镜像.那么前提就是,需要有tomcat的基础镜像. 怎么做我的思路跑偏了,本来以为是需要将tomcat下载下来,然后通过docker命令,让它成为镜像的.结果后来和老大一沟通,才发现自己的思路偏的不是一点儿半点儿如果需要tomcat镜像,可以直接从Docker Hub仓库上面直接拉取就OK,拉取下来的本身就是一个镜像.一条命令即可:do...原创 2018-12-20 15:49:36 · 12842 阅读 · 16 评论 -
[Harbor]Docker登录Harbor仓库(HTTP方式)
fjaljgl原创 2018-12-19 19:35:48 · 13252 阅读 · 10 评论 -
[Docker]CentOS7通过rpm包安装Docker
这篇文章原创 2018-12-19 12:14:45 · 7437 阅读 · 11 评论 -
[Kubernetes]CentOS7部署Kubernetes集群
环境介绍及安装前准备三台机器,用于部署k8s的运行环境:节点ipMaster192.168.22.237Node1192.168.22.235Node2192.168.22.236关闭三台机器上面的防火墙,为了安全,在这里选择临时关闭防火墙,不建议永久关闭systemctl stop firewalld 在安装部署集群之前,先将三台服务器的时...原创 2018-12-18 19:40:40 · 1092 阅读 · 9 评论 -
[Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息Etcd构建自身高可用集群主要有三种形式:①静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址②Etcd动态发现:通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制③DNS动态发现:...原创 2018-12-16 09:53:33 · 948 阅读 · 5 评论 -
[Kubernetes]CentOS7下搭建Harbor仓库
环境依赖:Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上.CentOS7自带Python,所以不需要安装.关于Docker安装已经写过一篇博客:[Docker]CentOS7下Docker安装教程所以接下来说一说docker-compose.部署docker-compose:curl -L htt...原创 2018-12-13 21:36:23 · 2816 阅读 · 7 评论 -
[Docker]CentOS7下Docker安装教程
想要倒腾Kubernetes的话,第一步就是要会安装Docker,这篇文章讲一讲过程 安装步骤检查内核版本,必须是3.10以上uname -r 安装Dockeryum -y install docker 启动 Docker 后台服务service docker start到此,Docker安装教程结束.可以使用命令查看安装的Docker版本:docker --version...原创 2018-12-08 12:31:26 · 984 阅读 · 8 评论 -
[Kubernetes]关于K8s,你应该知道的一些东西
Kubernetes概述Kubernetes(也常称K8s,用8代替8个字符“ubernete”而成的缩写),是一个开源的,用于管理云平台中多个主机上的容器化应用.它的一个核心特点是:能够自主的管理容器来保证云平台中的容器按照用户期望的状态运行.打个比方:比如我希望我的某个服务一直运行,至于怎么去做,我不管,我想要达到的目的就是我的那个服务一直运行,那么Kubernetes就会自动去监控,重...原创 2018-12-02 08:53:52 · 2150 阅读 · 7 评论