
kubernetes那些事儿
文章平均质量分 69
本专栏将展示kubernetes从搭建,到扩展使用,再到生态体系闭环,打造一套完整可用的容器平台
ywq935
这个作者很懒,什么都没留下…
展开
-
Kubernetes源码学习-Controller-P2-Controller与client-go
病毒肆虐,阴雨连绵,门房紧闭,亲友不问,冷冷清清,甚是无趣。坐下写写代码,总结下过去一年所学,整理两篇文章,倒也算是乐得自在。盼疫情早日控制,春回大地,愿同胞们身体安康,祝新年快乐!P2-Controller与client-go前言Controller作为k8s的资源控制组件,必定要实时地监控对比资源的目标状态和当前状态,这其中会与apiserver产生大量的交互。在k8s中,k8s各个组件...原创 2020-01-26 14:15:18 · 599 阅读 · 0 评论 -
kubernetes挂载cephfs带来的mds卡顿问题及引入cephfs storageClass
kubernetes挂载cephfs带来的mds卡顿问题及引入cephfs storageClass前言前面的文章中,有写过如何在kubernets中组合pv/pvc,使用cephfs进行数据的持久化存储:cephfs 在kubernetes中的使用但是在经过一段时间的使用后,发现此方式意外地会造成ceph mds严重的性能问题,本文将介绍如何使用cephfs storageClass避免...原创 2020-01-06 08:45:08 · 3191 阅读 · 4 评论 -
kubernetes 部署redis cluster
kubernetes 部署redis cluster前言Redis cluster的集群关系的维系,并非是依赖于ip的,而是依赖于cluster内部的唯一id, ip只在首次建立集群关系时连接彼此使用,不作为成员连接凭据,取而代之的是id。画外音:只要持有id,容器重启ip怎么变化都不会影响到维系redis cluster的成员关系。那么id怎么保存的呢?redis cluster在建立起来...原创 2020-01-03 18:10:32 · 1195 阅读 · 0 评论 -
Etcd 和 kubernetes master的灾备与恢复
Etcd和kubernetes master的灾备与恢复背景说明问题:假设某台带有etcd的k8s master节点完全故障,彻底无法恢复方案:新启动一台主机,配置为故障master主机相同的ip和主机名,并尝试原地恢复,顶替原故障master节点Etcd恢复参考官方文档:https://github.com/etcd-io/etcd/blob/master/Documentation...原创 2020-01-01 17:42:15 · 808 阅读 · 0 评论 -
Kubernetes各组件参数配置优化建议
Kubernetes各组件参数配置优化建议kubernetes虽然默认配置下已经足够可用满足常见的中小规模场景,但是若是将各组件参数、内核参数进行适当的调整,以达到更贴合使用场景的参数值,对集群运行的稳定性、故障切换能力等方面会有不小的提升。下面介绍一下各组件生产运行常做的一些参数调整。Kubelet参数配置kubelet在各个组件之中,作为唯一的分布在每个节点上的daemon控制程序,应该...原创 2019-11-18 16:16:02 · 4728 阅读 · 0 评论 -
k8s(十六): VXLAN和Flannel
前言目前k8s中比较常用的cni有calico、flannel、kube-router等,个人比较熟悉的是kube-router的bgp纯直通方案,flannel则是另一款使用较多的比较简单易用的方案,这里着重了解一下flannel的vxlan这一常用模式VXLAN在了解flannel之前,有必要掌握vxlan的基础知识。首先来看看vxlan协议的报文封装格式:说明:vxlan,给数据...原创 2019-07-17 16:57:41 · 4191 阅读 · 1 评论 -
k8s(十五)、Kubernetes v1.14多master集群部署
前言距离上一次搭1.9版本,已经过去一年了,这一年时间里,kubernetes已经迭代到了v1.14.3版本了,为了体验新版本的特性,今天来搭建最新版的集群,部署步骤与之前的一致,CNI kube-router经过了线上一年的验证,这里继续沿用kube-router的bgp直通网络方案。具体步骤与之前的v1.9版本几乎完全一致,本篇只列出差异部分,详情可参考此前的文章:k8s(一)、 1.9...原创 2019-06-18 09:51:04 · 2236 阅读 · 0 评论 -
k8s(十四)、RBAC权限控制
前言kubernetes 集群相关所有的交互都通过apiserver来完成,对于这样集中式管理的系统来说,权限管理尤其重要,在1.5版的时候引入了RBAC(Role Base Access Control)的权限控制机制.PS: RBAC作为集群管理的基础组件之一,本该放在最前面几篇,但是最近才想起来这个方面的知识点,赶紧梳理总结输出了本篇工作流程流程图流程拆解一、基于资源申明和管...原创 2018-12-06 20:16:10 · 14700 阅读 · 0 评论 -
k8s(十三)、企业级docker仓库Harbor在kubernetes上搭建使用
前言Harbor是Docker镜像仓库管理系统,用于企业级管理容器镜像,支持对接ldap进行权限管理,由VMVare中国团队开发。项目地址:https://github.com/goharbor/harbor/安装方式:1.Docker Compose方式部署:https://github.com/goharbor/harbor/blob/master/docs/installatio...原创 2018-10-24 17:05:46 · 12705 阅读 · 0 评论 -
k8s(十二)、分布式存储Ceph RBD使用
前言上篇文章介绍了k8s使用pv/pvc 的方式使用cephfs,k8s(十一)、分布式存储Cephfs使用Ceph存储有三种存储接口,分别是:对象存储 Ceph Object Gateway块设备 RBD文件系统 CEPHFSKubernetes支持后两种存储接口,支持的接入模式如下图:在本篇将测试使用ceph rbd作持久化存储后端RBD创建测试rbd的使用分为3个步骤:...原创 2018-09-29 17:09:22 · 4271 阅读 · 0 评论 -
k8s(十)、微服务--istio1.0抢鲜测试
前言此前写了三篇文章,介绍了istio的工作原理、流量调度策略、服务可视化以及监控: k8s(四)、微服务框架istio安装测试 k8s(五)、微服务框架istio流量策略控制 k8s(六)、微服务框架istio服务可视化与监控 istio项目成立1年多以来,鲜有生产上的用例,但这次最新的1.0版本,在官网介绍上赫然写着: All of our core features are...原创 2018-08-02 15:52:48 · 7054 阅读 · 0 评论 -
k8s(九)、监控--Prometheus扩展篇(mysqld-exporter、服务发现、监控项、联邦、relabel)
前言上一篇主要介绍prometheus基础告警相关,本篇再进行扩展,加入mysql监控,列出一些监控告警表达式及配置文件,以及新版prometheus上的联邦特性,支持多prometheus分支数据聚合,在多集群环境中很适用。mysqld-exporter部署:在公司的环境中,大部分的DB已迁移至K8S内运行,因此再以常见的节点二进制安装部署mysqld-exporter的方式不再...原创 2018-06-28 20:25:13 · 11369 阅读 · 10 评论 -
k8s(八)、监控--Prometheus告警篇(告警消息对接钉钉接口)
前言承接上章k8s(七)、Prometheus部署篇,在上章的基础上,本章介绍Prometheus告警相关配置。一、Querying expr & PromQL在了解告警规则之前,首先得了解Prometheus的数据查询表达式,来获取metric数据是否到达告警阈(ps:这个字儿念yu,第四声,不念第二声的fa)值。Overview Prometheus提供了一种功能...原创 2018-06-26 19:50:47 · 10032 阅读 · 1 评论 -
k8s(七)、监控--Prometheus部署篇
前言前面几篇文章介绍了k8s的部署、对外服务、集群网络、微服务支持,在生产环境中使用,离不开运行状态监控,本篇开始部署使用prometheus,被各大公司广泛使用的容器监控工具。工作方式Prometheus工作示意图: 在k8s中,关于集群的资源有metrics度量值的概念,有各种不同的exporter可以通过api接口对外提供各种度量值的及时数据,prometheus在与k...原创 2018-06-26 17:30:17 · 26247 阅读 · 26 评论 -
k8s(六)、微服务框架istio服务可视化与监控
前言: 承接上文k8s(五)、微服务框架istio流量策略控制 ,测试环境需保留上文中的环境,在本文将重点展示istio微服务调用链关系展示,以及微服务工作状态监测,涉及组件有: prometheus \ grafana \ jaeger等非常感谢文章作者这几天耐心地解答疑惑: http://www.maogx.win/posts/26/微服务调用链追踪 安装jaeger# ...原创 2018-06-06 18:37:42 · 7813 阅读 · 1 评论 -
k8s(五)、微服务框架istio流量策略控制
前言承接上节k8s(四)、微服务框架istio安装测试 本节实验通过在k8s上部署istio,实现微服务的基础功能。其中会涉及到服务的限流,超时,熔断,降级,流量分隔,A/B测试等功能。注意本次实验环境已开启istio的自动注入功能。**本实验的服务问调用关系如下:**实验采用时下流行的前后端分离模式,每个svc分别对应两个不同语言版本实例的后端pod前端项目基于vue/react...原创 2018-06-06 15:29:22 · 9877 阅读 · 3 评论 -
k8s(四)、微服务框架istio安装测试
一、前言Istio是Google/IBM/Lyft联合开发的开源项目,2017年5月发布第一个release 0.1.0,Service Mesh微服务新秀,采用sidecar的实现方式,有着高性能、极低的资源开销、无代码入侵等优秀特性,扛起微服务大旗,并与当下火热的k8s Paas容器云平台深度整合。官方描述为:An open platform to connect, manage, a...原创 2018-06-06 11:04:37 · 5374 阅读 · 0 评论 -
k8s(三)、kube-router: K8S BGP直通网络CNI方案
前言上一篇讲到,k8s使用traefik代理集群内部服务,灵活地注入代理配置的方式,提供对外服务(参考:k8s(二)、对外服务)。在本篇,使用gns3思科模拟器IOU,搭建BGP网络环境,通过vmware桥接的方式,直接对接虚拟机内的k8s集群,与集群内部BGP网络实现互通。拓扑图:1.路由器配置####router1:IOU1#show running-config...原创 2018-05-13 12:46:41 · 8507 阅读 · 15 评论 -
k8s(二)、对外服务(Traefik部署/https/session sticky使用)
前言在上文完成k8s集群搭建的基础上k8s(一)、1.9.0高可用集群本地离线部署记录,承接上文,本文简单介绍一下k8s对外暴露服务拓扑图: 一、k8s对外暴露服务方式介绍1.Load Blance目前已经有很多主流的公有云平台已经都提供基于k8s服务的组件,工作的原理本质上是k8s的服务向云平台申请一个负载均衡器来对外服务。因此这种方式只适合在云平台内部使用,这里略...原创 2018-04-10 22:33:43 · 7462 阅读 · 0 评论 -
k8s(一)、 1.9.0高可用集群本地离线部署记录
一、部署说明1.节点 master1: IP:192.168.0.170/24 hostname:171 master2: IP:192.168.0.171/24 hostname:172 VIP:192.168.0.169/242.工具版本: etcd-v3.1.10-linux-amd64.tar.gz kubeadm-1.9.0-0.x86_64.rpm kube...原创 2018-04-08 19:22:45 · 4060 阅读 · 6 评论 -
docker、k8s常用命令速查及k8s restful api接口
docker: - docker ps -a - docker images - docker exec -it {ID\NAME} /bin/bash | /bin/sh - docker run -it {ID\NAME} -p -v - docker start {ID\NAME} - docker stop {ID\NAME} - docker rm {ID...原创 2018-04-27 15:33:44 · 5082 阅读 · 0 评论 -
Cephfs & Ceph RBD 在k8s中的适用场景讨论及数据库性能压测
前言在此前的文章中,已经针对cephfs进行过I/O性能压力测试:cephfs调优 & 性能测试 & 监控 & 常用命令测试发现cephfs的小文件读写性能一般,且写入延迟偏高,性能不甚满意,但是满足于日常应用环境的读写是没有问题的,但是在面对数据库的应用场景,是否能满足性能要求呢?本篇主要针对数据库场景,来进行cephfs 和原创 2018-09-29 17:53:20 · 9186 阅读 · 2 评论