- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 k8s core-dns 解析域名异常
背景我司使用的是混合云,云上环境k8s中处理数据的pod不能正常解析公司内部存储的dns域名,从而导致数据处理程序失败,但是core-dns所在的pod上市能解析该域名的。分析查看查看数据处理容器中的resolv.conf文件,确认对应的nameserver是指向core-dns对应的service的,对应的core-dns的日志显示正常,没有看到异常信息。...
2021-08-24 22:41:44
6550
1
原创 client-go多集群管理
背景通常在多云环境中或者多k8s集群中,一个与k8s相关管理服务需要同事管理多个k8s集群,有很多种方法可以去实现该功能,这里主要介绍一种通过一个config文件在配合client-go代码来实现多集群client的创建,client-go中的example中都是单集群的client的实现。实现代码通过查看client-go创建client的内部代码后,整理出如下创建多集群的代码,我得式列代码中包含了 argo、volcano、k8s原生clientimport ( "context" "log
2021-08-24 18:31:12
1298
3
原创 k8s+kube-vip实现k8s高可用
kubernetes高可用集群搭建文章目录kubernetes高可用集群搭建服务器规划安装kubeadm、kubelet、kubectl准备kube-vip相关配置和static-pod.yaml安装集群保证kube-vip的高可用服务器规划节点类型IPmaster1172.16.27.10master2172.16.27.11master3172.16.27.12slave1172.16.27.13slave2172.16.27.14vip
2021-05-06 13:14:56
5414
原创 kube-proxy踩坑日记(三)
kube-proxy踩坑日志(三)根据某同事反馈,在某环境中,创建容器化的kafka集群的时候,发现调度到节点上的kafka的容器起不来,通过查看kafka容器的日志,发现日志中报错,端口xxxx已经被使用,通过 ss -lptn | grep xxxx发现对应的进程居然是kube-proxy。(环境中kube-proxy使用的是iptables模式)关于kube-proxy为什么要监听除他自己本身意外的端口?通过仔细阅读对应的iptables proxy代码,kube-proxy 除了syn.
2020-12-12 01:31:27
2764
2
原创 kubernetes容器化常用中间件之rabbitmq
rabbitmqRabbitMQ是实现了高级消息队列协议的开源消息代理软件。RabbitMQ服务器是用Erlang语言编写的,而聚类和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。同时rabbitmq的使用非常的广泛,所以使用容器化的方式快速部署rabbitmq集群非常的有必要。关于rabbitmq服务组成rabbitmq服务实质邮4大部分组成epmd服务,rabbitmq起来后会自动的启动epmd服务,empd服务是erlang的一个小程序,专门用来做端口
2020-06-24 00:48:44
1064
原创 k8s-metrics的实现原理以及开发指南
所有的metrics相关的服务,都是通过kubelet的api获取相关的metric数据, 然后进行相关的存储(内存存储,golang map实现),然后提供对应的api给client端掉用(通常client端是通过kubernetes的metrics.kubernetes.io/v1beta1发起掉用的,当然也可以自己掉用metrics-server api), 其中metrics-server...
2020-06-08 00:20:57
2392
原创 kubernetes容器化常用中间件之kafka
kafkaKafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”,[3]这使它作为企业级基础设施来处理流式数据非常有价值。此外,Kafka可以通过Kafka Connect连接到外部系统(用于数据输入/输出),并提供了Kafka Streams——一个Java流式处理库。容器化步骤构建kafka镜像容器化的第一步首先是要构建ka
2020-06-08 00:16:17
1491
4
原创 kubernetes之StatefulSet
StatefulSetk8s的statefulset相信很多人都用过,在1.5之后才引入的,1.5之前用的是petset,关于petset在之前的老版本的paas开发中用的就是petset,很多不足的地方,等会儿会说到这点。petset也好,statefulset也好,都是为啦解决容器的有状态服务。下面就谈谈在用statefulset的时候的一些小疑惑和收获。浅谈statefulset volume
2020-04-05 19:57:51
4224
原创 谈谈docker,containerd,runc,docker-shim之间的关系
谈谈docker,containerd,runc,docker-shim之间的关系关于containerd关于containerd的一些详解介绍,请参考containerd的官网:(https://containerd.io/)关于dockerdocker本身而言包括了,docker client和dockerd(docker daemon),dockerd本身实属是对容器
2020-04-05 19:57:43
22328
2
原创 ceph-ansibel部署ceph v10.2.10 Jewel
环境准备admin 192.168.99.187 node1 192.168.99.231 node2 192.168.99.224 node3 192.168.99.232Ansibe 配置免密码登陆三个ceph节点1 创建ssh秘钥 yum install epel-release -y yum install sshpass -y ssh-keygen -t rsa...
2020-04-05 19:57:33
544
2
原创 kube-proxy ipvs踩坑(二)
环境Kubernetes version:v1.9.11OS:NAME=“CentOS Linux”VERSION=“7 (Core)”ID=“centos”ID_LIKE=“rhel fedora”VERSION_ID=“7”PRETTY_NAME=“CentOS Linux 7 (Core)”ANSI_COLOR=“0;31”CPE_NAME=“cpe:/o:ce...
2019-11-22 12:22:33
1831
原创 kube-proxy ipvs踩坑(一)
环境Kubernetes version:v1.16.2OS:NAME=“CentOS Linux”VERSION=“7 (Core)”ID=“centos”ID_LIKE=“rhel fedora”VERSION_ID=“7”PRETTY_NAME=“CentOS Linux 7 (Core)”ANSI_COLOR=“0;31”CPE_NAME=“cpe:/o:ce...
2019-11-22 11:11:59
2357
原创 kubernetes之pod状态分析
k8s pod 状态分析pod从创建到最后的创建成功会分别处于不同的阶段,在源码中用PodPhase来表示不同的阶段:PodPending PodPhase = "Pending"PodRunning PodPhase = "Running"PodSucceeded PodPhase = "Succeeded"PodFailed PodPhase = "Failed"PodUnknown P
2019-11-22 01:30:12
33815
2
原创 etcd集群之k8s statefulset实现
说明etcd用k8s的statefulset实现, 一个statefulset的yaml就能实现etcd的集群的动态伸缩, 当你减少statefulset的replicas的时候(或者节点出故障down掉), 自动的把节点从etcd集群中移除,当时增加statefulset的replicas的时候(或者故障节点恢复),自动的把节点添加到etcd集群中. 但是当你减少的集群节点数目小于初始化集群的...
2019-11-22 01:17:05
1895
1
原创 kubelet整体架构图
本图主要是自己通过学习kubelet代码之后归纳总结画出来的kubelet的架构图,代码版本是1.15.3。图中 红色字体部分主要是kubelet内部的给中manager的协同工作,后续我会在次归纳总结各个manager是如何实现pod相关的容器的创建,volume绑定,cni的调用,状态的更新,容器的删除,垃圾回收的处理,syncPod的逻辑等。...
2019-09-26 00:01:03
616
原创 kubelet grpc实现
这里写自定义目录标题kubelet grpcgrpc server 接口定义grpc server 接口实现grpc server/client 实例化以及使用kubelet grpckubelet中用到grpc主要是操作runtime,kubelet截止到目前的版本1.16.0支持多种runtime:Docker,CRI-O,Containerd,Other CRI runtimes: fr...
2019-09-23 18:58:58
480
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人