云原生周刊:2024 扩展 K8s 集群指南 | 2024.1.2
开源项目推荐
Jib
Jib 无需 Docker 守护进程,也无需深入掌握 Docker 最佳实践,即可为您的 Java 应用程序构建优化的 Docker 和 OCI 映像。它可作为 Maven 和 Gradle 的插件以及 Java 库使用。
Docketeer
Docketeer 提供了一个简单的界面来管理 Docker 资源并可视化主机和容器指标数据以及 Kubernetes 集群数据。Docketeer 是一个容器化应用程序,可以轻松地与应用程序集群一起部署。
Helmify
Helmify 是一个 CLI 工具,用于从 Kubernetes 配置文件生成 Helm charts。它可以将支持的 Kubernetes 对象转换为 Helm chart,并提供了多种使用方式和选项。
DARK
DARK 是一个在 Kubernetes 中将 Grafana 仪表板作为资源定义和部署的工具。它允许用户通过 YAML 文件完整描述和部署 Grafana 仪表板,与监控的服务一起部署。除了仪表板,DARK 还可以管理数据源、API 密钥和警报管理器配置。
文章推荐
横向扩展 Kubernetes 集群 - 2024 年版
这篇文章是关于在 2024 年扩展 Kubernetes 集群的指南。作者首先介绍了文章的背景和目的,即为准备 CKA 考试而部署 Kubernetes 集群。然后,作者详细说明了如何将控制平面节点和工作节点扩展到三个,并强调了保证集群高可用性的重要性。在此过程中,作者涵盖了安装和配置 HAProxy 作为控制平面节点的负载均衡器的步骤,并提供了相应的代码示例。此外,作者还解释了在添加新的控制平面节点之前需要进行的预备工作,例如安装容器运行时、配置系统驱动程序等。最后,作者提供了验证集群状态和节点连接性的方法,并指导如何通过 kubeadm 命令将新的控制平面节点加入集群。整篇文章提供了清晰的步骤和指导,旨在帮助读者扩展和管理他们的 Kubernetes 集群。
在 Docker 容器内设置 Java 堆大小
这篇文章介绍了在 Docker 容器中设置 Java 堆大小的方法。作者指出在生产环境中,将 Java 应用程序运行在容器中可能会遇到一些问题。文章详细解释了 Java 堆大小设置的重要性,并讨论了 JVM 使用的虚拟内存远远超出 Java 堆的范围,包括垃圾收集器、类加载器、JIT 编译器等子系统所需的内存,以及操作系统和本地库所占用的内存。作者指出,在容器中运行 Java 时,如果使用堆内存作为内存消耗的指标,存在着 JVM 应用程序超出 Kubernetes 要求内存限制而被容器终止并重新启动的风险。文章进一步讨论了两种可能导致 OOM 异常的情况,并提供了设置 JVM 参数来避免这些情况发生的建议。最后,作者强调了监控 OOM 发生的重要性,并提供了一些建议来避免 OOM 异常的发生。整篇文章提供了实用的技巧和建议,帮助读者在 Docker 容器中设置合适的 Java 堆大小。
扩展您的 Kubernetes 工具箱:CRD 的力量
这篇文章介绍了如何通过自定义资源定义(CRDs)和自定义控制器扩展 Kubernetes 的功能。它强调了在 Kubernetes 生态系统中将所有内容都作为 Kubernetes 原生对象进行管理的趋势。作者讨论了 CRDs 的概念和用法,并提供了一个示例演示如何创建一个自定义资源和相应的操作器。文章还强调了在开发 CRDs 之前要考虑已有解决方案的可用性以及是否真正需要自定义资源。最后,文章提供了创建自定义资源定义和操作器的实际步骤和代码示例。
云原生动态
OpenFeature 成为 CNCF 孵化项目
CNCF 技术监督委员会 (TOC) 已投票同意 OpenFeature 作为 CNCF 孵化项目。
OpenFeature 是一个开放规范,为功能标记提供与供应商无关、社区驱动的 API,与各种功能标记管理工具兼容。功能标志是软件开发中的一项技术,允许团队启用、禁用或更改产品或服务中某些功能或代码路径的行为,而无需修改源代码。
通过 OpenFeature 实现的功能标记标准化将工具和供应商统一在一个通用接口后面,有助于避免供应商在代码级别的锁定,并提供一个用于构建可在社区中共享的扩展和集成的框架。
Griffin 2.0:Instacart 改进其机器学习平台
Instacart 基于使用原始 Griffin 机器学习平台的经验创建了下一代平台。该公司希望改善用户体验并帮助管理所有机器学习工作负载。改进后的平台利用了 MLOps 的最新发展,并为当前和未来的应用程序引入了新功能。
Griffin 平台的第二个版本用公开 REST API 的面向服务的架构取代了基于 CLI 和 Git 的工具。Web UI 使用这些 API 为 ML 工程师提供无缝体验,而 Griffin SDK 则可以将其他工具与 Griffin 集成,例如 BentoLM、Instacart 的内部 ML 笔记本云开发环境。
ARMO 将 VEX 引入 Kubernetes 安全态势管理平台
ARMO 增加了对漏洞利用交换 (VEX) 格式的支持,用于共享有关 Kubescape 的漏洞信息,Kubescape 是 Kubernetes 的开源安全态势管理项目。
VEX 格式是为美国商务部下属机构国家电信和信息管理局 (NTIA) 领导的软件组件透明度多利益相关方流程而创建的。NTIA 和网络安全与基础设施安全局 (CISA) 随后与 NTIA 和 Chainguard 合作创建了 OpenVEX,这是一个规范和一组工具,用于以机器可读的格式报告漏洞。Kubescape 社区与 Linux 基金会合作,为 Kubernetes 环境创建 OpenVEX 实例。
本文由博客一文多发平台 OpenWrite 发布!
云原生周刊:2024 扩展 K8s 集群指南 | 2024.1.2的更多相关文章
- 使用Velero Restic快速完成云原生应用迁移至ACK集群
本文记录使用Velero Restic快速完成云原生应用迁移至ACK集群的实践过程. 0. 实践步骤概览 (1)创建GKE集群(或自建Kubernetes集群)(2)在GKE集群上部署示例应用Jenk ...
- 【云原生 · Kubernetes】部署kube-apiserver集群
个人名片: 因为云计算成为了监控工程师 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 部署kube-apiserver集群 10.1 创建kube-apiserver 证书 10 ...
- 云原生时代, Kubernetes 多集群架构初探
为什么我们需要多集群? 近年来,多集群架构已经成为“老生常谈”.我们喜欢高可用,喜欢异地多可用区,而多集群架构天生就具备了这样的能力.另一方面我们也希望通过多集群混合云来降低成本,利用到不同集群各自的 ...
- 【云原生 · Kubernetes】部署Kubernetes集群
[云原生 · Kubernetes]搭建Harbor仓库 接着上次的内容,后续来了! 在master节点执行脚本k8s_master_install.sh即可完成K8S集群的部署,具体步骤参考如下(1 ...
- 使用KubeOperator扩展k8s集群的worker节点
官方文档网址:https://kubeoperator.io/docs/installation/install/ 背景说明 原先是一个三节点的k8s集群,一个master,三个woker(maste ...
- 在 Linux 内公网、云服务器搭建一套 K8s 集群
前言 本文讲述如果在 Linux 搭建内/公网 Kubernetes 集群的详细步骤,解决搭建过程中的问题. 准备工作 Linux CentOS 7.x 两台及以上,本文用的 7.6 本文配置默认是在 ...
- 腾讯云 K8S 集群实战 Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 应用
Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性 ...
- 轻量化安装 TKEStack:让已有 K8s 集群拥有企业级容器云平台的能力
关于我们 更多关于云原生的案例和知识,可关注同名[腾讯云原生]公众号~ 福利: ①公众号后台回复[手册],可获得<腾讯云原生路线图手册>&<腾讯云原生最佳实践>~ ②公 ...
- 自建k8s集群日志采集到阿里云日志服务
自建k8s集群 的master 节点安装 logtail 采集工具 wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.c ...
- shell脚本监控k8s集群job状态,若出现error通过触发阿里云的进程监控报警
#!/bin/bash while [ 1 ] do job_error_no=`kubectl get pod -n weifeng |grep -i "job"|grep -c ...
随机推荐
- git警告信息:Encountered 1 file(s) that may not have been copied correctly on Windows: —— See: `git lfs help smudge` for more details.
git报警信息: 官方讨论的帖子: https://github.com/git-lfs/git-lfs/issues/2434 说下个人的理解: 在git管理中,对于大文件(一般为压缩后的二进制文件 ...
- 公开号CN117354339A —— 数据传输专利 —— 解决了相关技术在进行数据传输的过程中时效性较差的技术问题
看到一个新闻: 地址: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_92907119 ...
- batch normalization的multi-GPU版本该怎么实现? 【Tensorflow 分布式PS/Worker模式下异步更新的情况】
最近由于实验室有了个AI计算平台,于是研究了些分布式和单机多GPU的深度学习代码,于是遇到了下面的讨论: https://www.zhihu.com/question/59321480/answer/ ...
- 强化学习性能测试方法:取最后10个epoch的testing epoch的均值 —— 强化学习中的一种性能测试方法
参考: https://www.cnblogs.com/devilmaycry812839668/p/17813337.html The Actor-Mimic and expert DQN trai ...
- @RequestBody中传递json里的对象,对象包含list属性,对应body里的格式
以下就是对应格式,直接复制进接口文档相关工具即可{ "userId": "88", "openCostCenterDTO": [ { &qu ...
- JDK、JRE和JVM简述
JDK(Java Development Kit) JDK是Java开发环境的核心组件,包括:Java编译器.JRE(Java运行环境)JavaDoc文档生成器和其他一些工具. JDK是Java程序员 ...
- 免费word简历 简历制作平台
分享一个简历制作平台. 免费的word模版 链接地址 https://www.xyjianli.com/ https://www.xyjianli.com/list https://www.xyjia ...
- SMU Summer 2024 Contest Round 7
SMU Summer 2024 Contest Round 7 Make Equal With Mod 题意 给定一个长度为 \(n\) 的数列 \(a\).你可以执行若干次操作,每次操作选择一个大于 ...
- mongodb 中嵌套数组的且查询
如果在mongodb中存在如下数据 { audit:{ experts:[{expertId:"1",result:"success",......} {exp ...
- Java常用类——包装类 小白版个人推荐
包装类及自动装箱/拆箱 包装类是将Java中的八种基本数据类型封装成的类,所有数据类型都能很方便地与对应的包装类相互转换,以解决应用中要求使用数据类型,而不能使用基本数据类型的情况. int a = ...