-
一文搞懂Kubernetes的网络模型:Overlay和Underlay
本文分别介绍Overlay网络模型和Underlay网络模型。 (一) Overlay网络模型 物理网络模型中,连通多个物理网桥上的主机的一个简单办法是通过媒介直接连接这些网桥设备,各个主机处于同一个局域网(LAN)之中,管理员只需要确保各个网桥上每个主机的IP地址不相互冲突即可。类似地,若能够直接连接宿主机上的虚拟网桥形成一个大的局域网,就能在数据链路层打通各宿主机上的内部网络,让容器可通过自有IP地址直接通信。为避免各容器间的IP地址冲突,一个常见的解决方案是将每个宿主机分配到同一网络中的不…
-
容器是加速企业上云的一条捷径
时至今日,基于容器、微服务、云原生等技术驱动的数字化转型和应用现代化已成为大势所趋,尤其Kubernetes与容器生态正在强势发展,几乎每个月都有新功能上线,Kubernetes使得微服务与容器等技术更能满足企业生产和应用现代化等需求。对于数字化企业来说,应用就是生产力。应用和IT现代化,决定了企业创新的速度。越来越多的企业正在将IT架构和应用现代化列入其数字转型计划中。 据2020年云原生计算基金会“云原生调查”报告指出,92%的受访者目前已在生产环境中部署容器,这一数字比2016年3月首次调…
-
分享几款开源的云平台和工具
很多云策略完全依赖专有平台和服务。例如,现在并没有类似AWS或Microsoft Azure等公有云的开源版本,并且主要的公有云供应商不太可能开源化自己的服务。不过,现在有很多可用的开源云计算平台和工具。 开源技术提供更大的灵活性,并减少对专有平台的依赖,还可节省成本。通过使用开源,开发人员可以检查和修改源代码以适应他们的需求和要求。 开源技术主要有两个类别: 开源平台—可构建完整的云环境; 开源工具—可管理专有公共云内运行的云服务。 与专有服务相似,开源云平台和工具可以帮助IT团队部署、配置和…
-
使用Jenkins扩展共享库进行钉钉消息推送
起因:执行完流水线后进行一定程度的消息推送,所以选择钉钉进行jenkins构建结构的消息推送 下载配置相关依赖插件 相关环境: Jenkins 2.277.3,安装文档见上篇 DingTalk 插件 2.4.3 build user vars plugin 插件 1.7 在Jenkins中安装钉钉插件DingTalk :warning: 请确保你的 Jenkins 版本 >= 2.176.4 钉钉机器人配置,说明文档 找到 Jenkins 首页 >> 系统管理 >>…
-
Kubernetes 超详细总结
一个目标:容器操作;两地三中心;四层服务发现;五种Pod共享资源;六个CNI常用插件;七层负载均衡;八种隔离维度;九个网络模型原则;十类IP地址;百级产品线;千级物理机;万级容器;相如无亿,Kubernetes有亿:亿级日服务人次。 一个目标:容器操作 Kubernetes是自动化容器操作的开源平台。这些容器操作包括:部署,调度和节点集群间扩展。 具体功能: 自动化容器部署和复制。 实时弹性收缩容器规模。 容器编排成组,并提供容器间的负载均衡。 调度:容器在哪个机器上运行。 组成: kubect…
-
Kubernetes学习笔记之kube-proxy service实现原理
1. Overview 我们生产k8s对外暴露服务有多种方式,其中一种使用external-ips clusterip service ClusterIP Service方式对外暴露服务,kube-proxy使用iptables mode。这样external ips可以指定固定几台worker节点的IP地址(worker节点服务已经被驱逐,作为流量转发节点不作为计算节点),并作为lvs vip下的rs来负载均衡。根据vip:port来访问服务,并且根据port不同来区分业务。相比于NodePo…
-
5步创建K8S Job,搞定批处理
Kubernetes jobs主要是针对短时和批量的工作负载。它是为了结束而运行的,而不是像deployment、replicasets、replication controllers和DaemonSets等其他对象那样持续运行。 本文将介绍如何创建Kubernetes jobs和cronjobs,以及一些小技巧。 Kubernetes Jobs会一直运行到Job中指定的任务完成。也就是说,如果pods给出退出代码0,那么Job就会退出。而在正常的Kubernetes中,无论退出代码是什么,de…
-
必看:Kubernetes 开发环境对比
曾几何时,Kubernetes 还被主流视为一种运维技术,但今天的情况已经不同了,现在 Kubernetes 对很多开发人员来说都是很重要的。正如我在有关 Kubernetes 工作流的 博客文章 中所写的那样,对于开始直接接触 Kubernetes 的开发人员来说,第一步工作就是设置 / 接入一个 Kubernetes 开发环境。 接入 Kubernetes 环境不仅是我们要做的第一步,而且是在工作中启用 Kubernetes 的基本要求。尽管如此,接入这样的环境时经常也会出问题:VMware…
-
21个Jenkins替代方案
当谈到CI/CD工具时,我们都会提到Jenkins。它是构建和测试项目的超级有效工具,从而使持续不断的轻松集成成为可能。 但是,Jenkins并不是唯一的CI/CD工具。我们还有其他很多选择! 1.GitLab GitLab 它是一个开源的Web系统,可用于将持续集成,持续部署应用到你的项目中,而无需任何第三方应用程序。它提供了友好的用户界面以及分布式版本控制服务。 使它成为Jenkins最佳替代品之一的一些主要功能是: 像Jenkins一样,它也是一个开源工具。 可以并行测试构建,从而减少时间…
-
基于Kubernetes和Jenkins的GitOps实战
如果你在关注软件交付领域,一定听说过 GitOps! GitOps是云原生DevOps的最佳实践方法之一,面向Kubernetes提供了一种更加高效、稳定和安全的CI/CD模型,其核心思想是将应用系统的声明性基础架构和应用程序存放在 Git 的版本控制库中,并视相关的Git仓库为惟一可信源。 将 GitOps 理论方法应用在持续交付流水线上,有诸多优势和特点: 安全的云原生 CI/CD 管道模型 更快的平均部署时间和平均恢复时间 稳定且可重现的回滚(例如,根据 Git 恢复 / 回滚 / for…