- 博客(21)
- 收藏
- 关注
原创 k8s去掉managedFields的简洁编排文件
下载yq,使用yq截取我们需要的编排文件点击下载yq下载yq后,拷贝到/usr/local/bin下,例如cp yq_linux_amd64 /usr/local/bin/yq && chmod +x /usr/local/bin/yq将下面内容添加到~/.bashrcneat () { yq eval 'del( .metadata.managedFields,...
2022-08-18 17:57:03
952
原创 k8s kubernetes批量操作服务shell
主要为集群管理时,希望批量停止服务和恢复服务。在多集群时(多中心,例如主备中心),例如集群A中服务a有3个副本,集群B中服务a有2个副本,当集群A停止时,集群B的服务a可以快速扩容到5个副本,集群A恢复时,集群B的服务a可以恢复到2个副本。保存服务和副本数到centerData文件#!/bin/bash# 当前中心服务副本情况,将要保存到文件currentFile="centerData...
2022-08-18 16:34:39
499
原创 kubernetes的webhook开发(一篇搭好开发架构)
webhook对kubernetes的webhook开发实例介绍Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker镜像K8S中提供了自定义资源类型和自定义控制器来扩展功能,还提供了动态准入控制,其实就是通过Webhook来实现准入控制,分为两种:验...
2022-08-02 16:06:25
1349
原创 intrface实现分析
前言关于interface接口(interface)代表一种“约定”或“协议”,是多个方法声明的集合。允许在非显示关联情况下,组合并调用其它类型的方法。接口无需依赖类型,带来的优点就是减少调用者可视化方法,隐藏类型内部结构和具体方法实现细节。虽然接口的优点有很多,但是接口的实现是在运行期实现的,所以存在其它额外的开销。在日常开发过程中是否选择接口需要根据场景进行合理的选择。关于k8s源...
2019-12-04 17:56:05
456
原创 kubelet源码详解(一)
kubelet前言本文没有去列出细节逻辑实现,只列出主干逻辑,代码中有注解可以简单阅读以下,k8s源码大多方法以interface层层包装的形式调用,一个interface会有较多实现(interface多态),代码中的interface的具体实现可以参考《intrface实现分析》,后续会就一处调用进行详细分析如何debug我是利用dlv工具远程调试的,远端搭建了一个3maste...
2019-12-03 17:08:14
1108
原创 glusterfs架构详解
Gluserfs详解doc home:https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/⚠️本文主要对官网进行了翻译,更方便记录查看,解释有误的地方请大家指出,架构整理和源码详解会在之后相继发布文章。FUSEGlusterFS is a userspace filesystem. This was ...
2019-11-28 11:00:16
1074
原创 k8s高可用部署Ingress
部署高可用Ingress官网地址https://kubernetes.github.io/ingress-nginx/deploy/获取ingress的编排文件wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml增加节点标签kubec...
2019-11-18 16:07:12
511
原创 gluster Issues: Readiness probe failed or Liveness probe failed
问题描述:glusterfs的Pod启动失败如下(实际为gluster-blockd启动失败)log查看gluster需要的几个状态:systemctl status gluster-blockdMar 21 08:37:42 k8s-worker03 systemd[1]: Dependency failed for Gluster block stor...
2019-10-22 11:34:19
1218
原创 kubernetes部署jenkins(Docker in Docker)及认证
引言Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。本文将Jenkins的master与slave置于Pod中,部署在namespace:jenkins下,jenkins slave 构建时,启动slave运行代码克隆,项目构建,镜像构建,上传仓库等一系列命令。构成完成以后删除pod。也就是Docker In Docker可直接使用本文提供的编...
2019-09-17 10:59:43
505
原创 helm生产环境离线安装
1.安装helm生产环境离线的情况下,使用tiller前端运行还是后端运行可以根据自己需求,如果希望tiller可以稳定的运行,可以尝试docker跑以下,作者没有尝试不知是否会成功。但是不通过helm init的方式搭建,这个需要访问网络。1.1.安装helm客户端各个版本的helm:https://github.com/helm/helm/releaseswget https...
2019-09-14 11:55:16
1852
原创 helm在kubernetes环境中搭建
1.安装helm1.1.安装helm客户端各个版本的helm:https://github.com/helm/helm/releaseswget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gztar -zxvf helm-v2.14.3-linux-amd64.tar.gzmv linux-amd64/helm /usr...
2019-09-14 11:55:06
155
原创 GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)
引言本文通过对卷类型的分析对比,来帮助读者选取生产环境最符合服务的挂载存储,命令可结合《glusterfs详解及kubernetes 搭建heketi-glusterfs》进行实验,下面进入正题几种卷类型基础卷:布式卷(distribute)、条带卷(stripe)、复制卷(replica)、纠错卷(Dispersed ) 复合卷:分布式条带卷(distribute stripe)、...
2019-08-29 11:52:12
721
原创 kubernetes 搭建heketi-glusterfs(自动创建存储卷)
本文包含:gluster各存储卷详解、创建及使用 gluster-kubernetes搭建glusterfs存储前言传统的运维中,往往需要管理员手动先在存储集群分配空间,然后才能挂载到应用中去。Kubernetes 的最新版中,dynamic provisioning 升级到了 beta ,并支持多种存储服务的动态预配置,从而可以更有效地利用存储环境中的存储容量,达到按需使用存储空间的...
2019-08-28 18:45:43
986
原创 kubernetes haproxy+keepalive实现master集群高可用
前言master的HA,实际是apiserver的HA。Master的其他组件controller-manager、scheduler都是可以通过etcd做选举(--leader-elect),而APIServer设计的就是可扩展性,所以做到APIServer很容易,只要前面加一个负载均衡轮训转发请求即可。下面简单描述下haproxy和keepalive。注意⚠️便于大家使用,...
2019-08-21 16:00:18
504
原创 kubernetes部署高可用Harbor
前言本文Harbor高可用依照Harbor官网部署,主要思路如下,大家可以根据具体情况选择搭建。部署Postgresql高可用集群。(本文选用Stolon进行管理,请查看文章《kubernetes下Stolon部署高可用Postgresql》)部署redis高可用集群。(本文选用Helm对redis进行高可用部署,请查看文章《kubernetes部署高可用redis》,该文...
2019-08-20 11:34:27
257
原创 kubernetes部署高可用redis
本文redis通过helm搭建,提供redis高可用完整的编排,关于Helm的搭建和使用请查看文章《helm的搭建及使用》,其中前一章介绍了Helm搭建,并提供了Helm搭建Harbor的例子,所以本意仅做简要叙述可根据https://github.com/bitnami/charts/tree/master/upstreamed/redis使用helm在线安装或下载到本地安...
2019-08-20 11:32:04
327
原创 kubernetes Stolon部署高可用Postgresql
....前言本文选用Stolon的方式搭建Postgresql高可用方案,主要为Harbor提供高可用数据库,Harbor搭建可查看kubernetes搭建Harbor无坑及Harbor仓库同步,之后会提供redis高可用及Harbor高可用方案搭建方案比较几种postgresql高可用方案简单比较:引用https://studygolang.com/articles/1...
2019-08-19 18:11:39
685
1
原创 【原创】生产环境:ansible自动化部署kubernetes-1.14
概述:本文提供ansible-playbooks及相关所有k8s组件资源用来帮助读者用ansible构建二进制kubernetes1.14,调试有问题的伙伴可以私聊作者哈。集群包含calico、nginx-ingress、HA提供资源有kubernetes-1.14二进制安装包、docker18/rpm包、calico所需镜像、nginx-ingress所需镜像、cfssl包...
2019-08-13 15:34:39
291
原创 kubernetes搭建Harbor无坑及多中心Harbor仓库同步
harbor高可用可查看《kubernetes部署高可用Harbor》一、helm搭建harbor1.安装helm1.1.安装helm客户端tar -zxvf helm-v2.14.3-linux-amd64.tar.gzmv linux-amd64/helm /usr/local/bin/chmod +x /usr/local/bin/helmhelm versio...
2019-08-12 16:07:53
718
原创 生产环境:ansible自动化部署kubernetes-1.14
本文内容排版不是特别的好,所以又重新排了一版(新版),代码\命令用起来会更舒适一些 概述: 本文提供ansible-playbooks用来帮助读者用ansible构建二进制kubernetes1.14, 集群包含calico、nginx-ingress、HA 提供资源有kubernetes-1.14二进制安装包、dock...
2019-08-02 17:46:02
296
原创 kubernetes节点(node)为NotReady,集群表现随记
工作中曾碰到节点宕机的状况,导致以Pod部署的registery镜像仓库不可用,深入熟悉了Ceph后再详细续写解决办法,如有不对,请谅解。 由于网络原因或者节点自身原因导致node状态为NotReady时,Pod表现、处理方式及应注意事项。Deployment和StatefulSet的表现 1、Deployment的Pod状态为Unkown,会自动在其他节点重启Po...
2019-06-28 16:59:59
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人