草庐IT

kubernetes-service

全部标签

在Kubernetes中实现gRPC流量负载均衡

在尝试将gRPC服务部署到Kubernetes集群中时,一些用户(包括我)面临的挑战之一是实现适当的负载均衡。在深入了解如何平衡gRPC的方式之前,我们首先需要回答一个问题,即为什么需要平衡流量,如果Kubernetes已经完成了这项工作。本文关注于Kubernetes和Golang。为什么在Kubernetes中无法适当地平衡gRPC流量?之所以难以平衡gRPC流量的主要原因是人们将gRPC视为HTTP,这就是问题的根源。设计上它们是不同的,虽然HTTP为每个请求创建和关闭连接,但gRPC使用HTTP2协议,在长时间的TCP连接上运行,使得平衡更加困难,因为多个请求通过同一个连接进行多路复用

mongodb - 我可以在 Kubernetes Statefulset 的 volumeClaimTemplate 中使用现有的 GCE 永久磁盘吗

我正在使用GoogleContainerEngine为MongoDB副本集(3个副本pod)运行StatefulSet。这适用于持久存储的动态配置-即在创建有状态集时为每个pod提供新存储。但是如果我重新启动StatefulSet,似乎我无法重新绑定(bind)旧的持久卷,因为新的存储将被重新配置。这意味着数据丢失了。理想情况下,持久存储应该在Kubernetes集群本身删除后仍然存在,数据会保留并准备好在新集群中再次使用。有没有办法创建GCE持久磁盘并将它们用于StatefulSet的持久卷声明?[2017年9月20日更新]找到答案:这就是解决方案(归功于@RahulKrishnan

mongodb - 带有 ColdFusion、Bean+Service+DAO 和 OOP 的 NoSQL 还是好的旧数组/结构和过程?

您如何使用NoSQL构建简单、灵活、高效和干净的CF后端模型?由于NoSQL文档没有像SQL行那样的固定模式,因此它不太适合相当静态的对象。因此,典型的Bean+DAO+ServiceOOP架构似乎不太适合。我正在考虑使用普通的旧Struct,但我无法向其添加行为,这将使整个项目非常程序化,这可能不是一件坏事?但是,如果我只使用普通的旧结构,数据库实现就会泄露到任何地方,包括View层...或者...我应该将数组转换为View层的CF查询对象吗?评论?主意?建议?谢谢! 最佳答案 我在CF中编写了几个使用NoSQL数据存储的应用程序

CentOS7.9+Kubernetes1.28.3+Docker24.0.6高可用集群二进制部署

CentOS7.9+Kubernetes1.28.3+Docker24.0.6高可用集群二进制部署查看版本关系##从kubernetes-server-linux-amd64.tar.gz解压后有kubeadm]#./kubeadmconfigimageslistW102220:06:05.64797629233version.go:104]couldnotfetchaKubernetesversionfromtheinternet:unabletogetURL"https://dl.k8s.io/release/stable-1.txt":Get"https://cdn.dl.k8s.io/

【云原生】配置Kubernetes CronJob自动备份Clickhouse数据库(单机版)

【云原生】配置KubernetesCronJob自动备份MySQL数据库Clickhouse测试、开发环境:每天0点40分执行全库备份操作,备份文件通过StorageClassSFS存储类存放云产品sfs卷中在db命名空间创建pvc类型的资源:apiVersion:v1kind:PersistentVolumeClaimmetadata:name:cronjob-clickhouse-backupnamespace:dbspec:accessModes:-ReadWriteManyresources:requests:storage:200GistorageClassName:sc-dysk-

kubernetes集群部署EFK收集集群日志

日志的管理是系统很重要的一部分,千万不可忽略其重要性。完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样。Elasticsearch是位于ElasticStack核心的分布式搜索和分析引擎。Fluentd是一个用于统一日志层的开源数据收集器。kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。yuminstallnfs-utils-y#在所有节点安装nfs,使节点可以正常使用nfs服务mkdir-p/data/volumescat/etc/exports/data/volumes192.168.10.0/24(rw,sync,no_root_s

Job for network.service failed because the control process exited with error code.

Linux重启网卡失败报错如下:Jobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.See“systemctlstatusnetwork.service”and“journalctl-xe”fordetails.报错原因:network与NetworkManager冲突导致解决办法:systemctlstopNetworkManager然后重启网卡即可解决注:停止NetworkManager后添加网卡时不能发现,关闭后才能发现原文链接:https://blog.csdn.net/klvjb/article

【kubernetes系列】kubernetes之kube-proxy的工作模式

概述从kubernetes最早开始,kube-proxy到现在总共支持三种模式,在v1.8之前我们使用的是iptables以及userspace两种模式,iptables模式从v1.2版本开始引入并作为kube-proxy默认的操作模式。在kubernetes1.8之后引入了ipvs模式,并且在v1.11中正式使用,其中iptables和ipvs都是内核态也就是基于netfilter,只有userspace模式是用户态。下面详细介绍下各个模式:userspace在k8sv1.2后就已经被淘汰了,该模式下kube-proxy会为每一个Service创建一个监听端口。发向ClusterIP的请求被

Kubernetes中的优雅关闭和零停机时间部署

在Kubernetes中,创建和删除Pod是最常见的任务之一。当你执行滚动更新、扩展部署、发布新版本、执行作业和定时作业等操作时,都会创建Pod。但是,在Pod被驱逐后,例如将节点标记为不可调度时,Pod也会被删除并重新创建。如果这些Pod的性质是如此短暂,那么当一个Pod正在响应请求时,如果被告知关闭,会发生什么?在关闭之前,请求是否会完成?那么后续的请求呢?是否会被重定向到其他地方?在讨论Pod被删除时会发生什么之前,有必要谈谈当Pod被创建时会发生什么。假设你想在集群中创建以下Pod:pod.yamlapiVersion:v1kind:Podmetadata:name:my-podspe