随笔分类 - Docker/K8S
摘要:Rancher 的部署可以有三种架构: 高可用 Kubernetes 安装: 建议使用 Kubernetes 程序包管理器 Helm 在专用的 Kubernetes 集群上安装 Rancher。在 RKE 集群中,需要使用三个节点以实现高可用性。在 K3s 集群(轻量级kubernetes)中,仅需
阅读全文
摘要:etcd是kubernetes集群极为重要的一块服务,存储了kubernetes集群所有的数据信息,如Namespace、Pod、Service、路由等状态信息。如果etcd集群发生灾难或者 etcd 集群数据丢失,都会影响k8s集群数据的恢复。因此,通过备份etcd数据来实现kubernetes集
阅读全文
摘要:一、简单介绍 GitLab-CI GitLab CI/CD是GitLab的一部分,支持从计划到部署具有出色的用户体验。CI/CD是开源GitLab社区版和专有GitLab企业版的一部分。可以根据需要添加任意数量的计算节点,每个构建可以拆分为多个作业,这些作业可以在多台计算机上并行运行。 GitLab
阅读全文
摘要:Kubernetes 使用Persistent Volume和Persistent Volume Claim 两种API资源来管理存储。 PersistentVolume (简称PV): 由管理员设置的存储,它是集群的一部分。就像节点(Node)是集群中的资源一样,PV也是集群中的资源。它包含存储类
阅读全文
摘要:一、使用NFS配置持久化存储 1)在NFS服务器端(172.16.60.238)通过nfs创建es、filebeat共享目录 [root@k8s-harbor01 k8s]# mkdir -p /data/storage/k8s/es 2)创建NFS的rbac [root@k8s-master01
阅读全文
摘要:一、容器转化为镜像(docker export、docker import) 1)docker export:表示将容器导出文件包 两种命令方式(finhub-cms为容器名): docker export finhub-cms > finhub-cms.tar docker export -o f
阅读全文
摘要:RabbitMQ 简介 以熟悉的电商场景为例,如果商品服务和订单服务是两个不同的微服务,在下单的过程中订单服务需要调用商品服务进行扣库存操作。按照传统的方式,下单过程要等到调用完毕之后才能返回下单成功,如果网络产生波动等原因使得商品服务扣库存延迟或者失败,会带来较差的用户体验,如果在高并发的场景下,
阅读全文
摘要:在kubernetes中滚动重启pod常用方法: 一、直接修改pod的yaml部署文件,apply滚动更新(基于yaml文件)通过 "kubectl apply -f *.yaml" 命令触发pod的滚动更新。前提是pod的yaml部署文件内容必须是有所更新的,否则执行kubectl apply命令
阅读全文
摘要:cordon、drain和delete三个命令都会使node停止被调度,后期创建的pod不会继续被调度到该节点上,但操作的暴力程度却不一样。 一、cordon 停止调度(不可调度,临时从K8S集群隔离) 影响最小,只会将node标识为SchedulingDisabled不可调度状态。 之后K8S再创
阅读全文
摘要:修改所有Master节点的kube-apiserver服务启动文件里的--service-node-port-range参数; [root@k8s-vm01 ~]# cat /etc/systemd/system/kube-apiserver.service ......... --service-
阅读全文
摘要:一、Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理。它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合。 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量。 它
阅读全文
摘要:1)Nacos集群部署的安装包准备官方下载的nacos-server-1.2.1.zip包需要经过处理下:修改配置、加入docker-startup.sh启动脚本 [root@k8s-vm01 nacos-cluster]# pwd /usr/local/src/nacos-cluster [roo
阅读全文
摘要:kafka-manager 是雅虎开源的apache-kafka管理工具,是用Scala编写的,可以在web页面进行kafka的相关操作。 一、制作kafkamanager的image镜像 下载kafka-manager-2.0.0.2.zip,在解压目录的conf下的application.con
阅读全文
摘要:一、基础说明 Kafka和zookeeper是两种典型的有状态的应用集群服务。首先kafka和zookeeper都需要存储盘来保存有状态信息;其次kafka和zookeeper每一个实例都需要有对应的实例Id (Kafka需broker.id, zookeeper需要my.id) 来作为集群内部每个
阅读全文
摘要:一、基本知识简要说明 RocketMQ主要有四大组成部分:NameServer、Broker、Producer、Consumer。 Nameserver作用: NameServer 可以说是 Broker 的注册中心,Broker 在启动的时候,会根据配置信息向所有的 NameServer 进行注册
阅读全文
摘要:Harbor环境部署的要求:系统版本在Centos7.5以上、内核版本在4.4X以上、ip_forward路由转发功能要打开。 一、环境准备 [root@k8s-harbor01 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (C
阅读全文
摘要:QOS是K8S中的一种资源保护机制,其主要是针对不可压缩资源比如内存的一种控制技术。比如在内存中,其通过为不同的Pod和容器构造OOM评分,并且通过内核策略的辅助,从而实现当节点内存资源不足的时候,内核可以按照策略的优先级,优先kill掉那些优先级比较低(分值越高,优先级越低)的Pod。 QoS(Q
阅读全文
摘要:K8S自身带有优雅终止Pod容器的机制,发送SIGTERM终止信号,在规定的terminationGracePeriodSeconds优雅时间内完成Pod优雅终止动作。 terminationGracePeriodSeconds默认是30秒,该时间是从Pod的Termination状态开始计算的,包
阅读全文
摘要:HPA(Horizontal Pod Autoscaler)在k8s集群中用于POD水平自动伸缩,它是基于CPU和内存利用率对Deployment和Replicaset控制器中的pod数量进行自动扩缩容(除了CPU和内存利用率之外,也可以基于其他应程序提供的度量指标custom metrics进行自
阅读全文
摘要:StatefulSet是为了解决有状态服务的容器问题而设计的,对应的Deployment和ReplicaSet是为了无状态服务而设计的。 StatefulSet应用场景包括: 稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现 稳定的网络标志,即Pod重新调度后其Po
阅读全文