k8s
文章平均质量分 64
你大晨哥
别把时间浪费在工作上
展开
-
traefik作为istio网关
其实我在参考官方blog前也在网上看了几个文章,说实话我没太懂,可能是比较菜,但是我从那几个文章里稍微等看到他们还是在网关那里加了一个sidecar,我觉得可能没什么必要,有可能我说的不对,未来Api gateway和istio融合了我也还是喜欢现在的模式,解耦。原创 2023-01-05 18:28:52 · 601 阅读 · 0 评论 -
traefik gateway api
traefik gateway api原创 2023-01-03 17:34:03 · 655 阅读 · 1 评论 -
大白话paxos raft
其实mutil 和 paxos已经很接近了,我这里只是说一下区别吧。最大的区别是日志Paxos的日志Raft的日志其实就是raft的日志更整齐一些,当需要重新选举leader的时候直接选择日志最完整的就可以了,但是paxos存在所谓的日志空洞,当重新选举leader的时候需要通过计算补齐一下日志。这就比raft在选择leader时候理论上慢了一些。原创 2022-09-26 17:49:18 · 522 阅读 · 0 评论 -
tekton+argocd 部署golang项目
这里我只是想做一个v1.0版本,后期逐步的进化。我这里是最近单的docker in docker的方式打包镜像,正确的方式可以使用sidecar的方式或者kaniko的方式后面去实现,这里直接build完推送到镜像仓库。argocd的原理就是再k8s里面有一个控制器一直监听git的变化,然后对比集群中实际的状态,所以你也要先有一个git仓库,这里就是helm的仓库。ci无非就是从 gitlab拉取代码,然后进行测试,编译,打包,然后将镜像推送到镜像仓库,最后修改helm的values.yaml。原创 2022-09-15 15:58:40 · 2797 阅读 · 1 评论 -
helm 部署golang应用
helm 其实就是一个模板引擎,就跟以前写php时候有很多模板标签会根据参数渲染成最终想要的html,而helm则是根据参数宣称成想要的k8s yaml文件,使用的模板叫做 Golang Template,里面有一些语法,根据学习的深入都会遇到,这里只是写一个最简单的入门。新增targetPort,这里的name是chart的中定义的一个name,如果想定制也可以在value.yaml中定义变量。修改镜像的地址,修改拉取镜像策略为always,修改镜像的tag。先看看nginx-ingress的ip。原创 2022-09-09 16:27:37 · 631 阅读 · 0 评论 -
tekton 和 Argocd的区别
Operator 会周期性地监控目标环境的实际状态,并与 Git 仓库中的期望状态进行比较,如果实际状态不符合期望状态,Operator 就会更新基础设施的实际状态以匹配期望状态。在我看来最主要的就是没有办法感知部署状态,一锤子买卖部署完就不管了,Argo CD 不仅会监控 Git 仓库中声明的期望状态,还会监控集群中应用的实际状态,并将两种状态进行对比,只要实际状态不符合期望状态,实际状态就会被修正与期望状态一致。这就真正确保了 Git 仓库中的编排文件可以作为集群状态的唯一真实来源。...原创 2022-08-29 18:23:33 · 2163 阅读 · 0 评论 -
从零单排冲kubebuilder(二)
背景总觉干什么事要把基础打好,尤其是k8s,概念多,杂,而且国内真的把这玩意玩的特别透彻的感觉人也不多,更多的还是使用层面。下面说一说几个关键词,这在后面会经常提起。关键词GET /api/v1/namespaces/test/pods---200 OKContent-Type: application/json{ "kind": "PodList", "apiVersion": "v1", "metadata": {"resourceVersion":"10245"}, "原创 2022-05-22 00:30:38 · 273 阅读 · 0 评论 -
从零单排冲kubebuilder(一)
背景一直觉得这种脚手架的东西虽然方便,但是不好掌握它,调教它,归根结底还是不够了解,因此打算从最基础开始了解kubebuilder。解决什么事?首先你想使用一个东西前你肯定要知道这东西帮你解决什么事。那现在就是有这么一个需求。说开发同学不太懂k8s,最好的办法就是开发扔给k8s一个yaml,直接就来一个全套,什么pod、ingress、pvc全给你一条龙弄好,应用直接就跑了起来。相当于有一个中间人他读懂了开发扔过来的yaml并根据yaml的要求去工作。需要什么?想要完成这件事,首先我要一个中间人。原创 2022-05-10 13:54:05 · 187 阅读 · 0 评论 -
k8s flannel
flannel网络总结一下啊,其实就是三层网络,flannel就是路由器,cni0网桥就是交换机,flannel.1他的作用就是和其他的节点通信,每个节点容器的ip都绑定到网桥cni0上,但是如何给每个容器分配ip呢?如何创建cni0网桥呢?如何让k8s知道容器的信息等等?交给一个cni插件来做,这个插件不行就换一个插件,插来插去的总能行,说白了就是解放你的双手,让你的双手做去做别的。。。...原创 2022-04-07 12:54:30 · 614 阅读 · 2 评论 -
大白话之istio gateway、virtual service 、destination rule
老王开了一家家娱乐场所,天上人间,为了气派老王花重金百万打造了一个青铜大门istio-ingressgateway 类似一个nginx。这么气派的大门必须找两个180以上的保安gateway看门,保安的指责比较的简单明了,按摩(anmo.com)的放进来,洗浴(xiyu.com)的放进来,白嫖(baipiao.com)的请出去。在这里插入代码片迷茫的客人进来后需要有指路人,大堂经理virtual service客客气气的安排着。每个客人都有自己喜欢的技师,以前k8s的service不支持客户挑选技师原创 2021-12-21 15:23:54 · 3985 阅读 · 7 评论 -
k8s ingress、istio网关
k8s ingressingress 三大组件1负载均衡器nginx,Haproxy之类的2ingress controllerngress Controller实质上可以理解为是个监视器,Ingress Controller通过不断地跟Kubernetes API打交道,实时的感知后端Service、Pod等变化,然后更新反向代理负载均衡器。3ingress配置文件,哪个域名对应哪个服务。apiVersion: extensions/v1beta1kind: Ingressmetad原创 2021-12-16 18:33:42 · 7748 阅读 · 0 评论 -
大白话 k8s UserAccount ServiceAccount RBAC之间的关系
账户类型User Account(用户账户)Service Account(服务账户)User Account是为人设计的,而Service Account则是为Pod中的进程调用Kubernetes API而设计。大白话,k8s就是一个会所,User Account就是你能不能进会所的凭证,光进会所没用,Service Account是你能不能获取服务的凭证, 你到底能获取什么服务呢?这就要将Service Account 和 rbac进行绑定了。会所有很多的角色role,大玩家,超级大玩家,顶.原创 2021-10-28 11:40:11 · 765 阅读 · 0 评论 -
大白话之tekton
我很喜欢tekton的logo,我决定用它的原因不是因为他是谷歌的亲儿子,单纯因为和我家柴犬长得很像。流水线在计算机中,流水线是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术,也叫 Pipeline。由于这种工作方式与工厂中的生产流水线十分相似, 因此也被称为流水线技术。从本质上讲,流水线技术是一种时间并行技术。基本概念Tekton 最主要的四个概念为:Task、TaskRun、Pipeline 以及 PipelineRun。Task: Task 为构建任务,是 .原创 2021-10-27 15:49:13 · 268 阅读 · 0 评论 -
rancher rook-ceph踩坑之旅
安装参考官方文档就行说几个踩的坑:sudo yum install -y lvm2All nodes with available raw devices will be used for the Ceph cluster. At least three nodes are required,这个很重要!我在安装zookeeper的时候就会报莫名其妙的错误,https://github.com/ceph/ceph-csi/issues/1881,我当时用的两个node节点,可能是脑裂了,暂时也不知道原创 2021-09-17 18:21:34 · 354 阅读 · 0 评论 -
Failed to start Docker Application Container Engine.
docker.service failed.docker.service holdoff time over, scheduling restart.Stopped Docker Application Container Engine.start request repeated too quickly for docker.serviceFailed to start Docker Application Container Engine.Unit docker.service entered原创 2021-05-27 14:58:36 · 150 阅读 · 0 评论 -
kubeadm安装k8s 1.18.0
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >1. 安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:一台或多台机器,操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2原创 2021-05-27 12:40:14 · 405 阅读 · 0 评论 -
helm bitnami/redis nodeport模式之坑
集群模式本来想用集群模式redis-cluster,但是无奈发现cluster没有nodeport模式,所以放弃!如果你找到了请告诉我helm install -n lt-redis redis bitnami/redis-cluster --set persistence.storageClass=managed-nfs-storage --set cluster.externalAccess.enabled=true --set cluster.externalAccess.service.ty原创 2021-04-26 18:42:31 · 1545 阅读 · 1 评论 -
helm3 安装kafka、zookeeper
前提你要安装helm3helm pull bitnami/kafkahelm pull bitnami/zookeeper安装zookeeperhelm install -n lt-zoo zookeeper bitnami/zookeeper --set persistence.storageClass=managed-nfs-storage,persistence.size=1Gi,replicaCount=2注意persistence.storageClass 换成你自己的storage原创 2021-04-22 14:52:20 · 1143 阅读 · 1 评论 -
helm踩坑日记
1Error: create: failed to create: Secret “sh.helm.release.v1.ltCar.v1” is invalid: metadata.name: Invalid value: “sh.helm.release.v1.ltCar.v1”: a DNS-1123 subdomain must consist of lower case alphanumeric characters, ‘-’ or ‘.’, and must start and end with原创 2021-04-21 11:30:56 · 2274 阅读 · 0 评论 -
大白话k8s CRD
我个人理解crd!就好比k8s给你提供了张小姐(pod)、王小姐(deamonset)、李小姐(statefulset),但是你不满足你自己非要一个赵小姐(crd),k8s就给你一个接口你自己把赵小姐(crd)给造出来。但是你的赵小姐必须符合k8s的一些规则,你把赵小姐造出来了,赵小姐听你的k8s不帮你管着!你要单独雇了一个人小王(controller)专职在k8s那里帮你管着赵小姐,如果今晚你想让赵小姐干点什么,你就要给k8s的接口人(aipservice)打电话,“喂、今晚你让赵小姐在家等我!”,接口.原创 2021-04-09 11:37:57 · 1335 阅读 · 3 评论 -
ingress-nginx 0.3.0部署
目的实现用ingress-nginx访问集群内部的nginx备注此版本只是初步实现,先入门在研究。步骤安装ingress-controller(版本0.3.0)新建文件夹mkdir ingress-nginx-test下载https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/statichttps://github.com/kubernetes/ingress-nginx/tree/nginx-0原创 2021-03-18 12:30:24 · 328 阅读 · 0 评论