基于自定义指标 除了基于 CPU 和内存来进行自动扩缩容之外,我们还可以根据自定义的监控指标来进行。这个我们就需要使用 Prometheus Adapter,Prometheus 用于监控应用的负载和集群本身的各种指标,Prometheus Adapter 可以帮我们使用 Prometheus 收集的指标并使用它们来制定扩展策略,这些指标都是通过 APIServer 暴露的,而且 HPA 资源对象也可以很轻易的直接使用。
下面来看具体怎么实现的!
部署应用 首先,我们部署一个示例应用,在该应用程序上测试 Prometheus 指标自动缩放,资源清单文件如下所示:(podinfo....
https://dockerhub.mirrors.nwafu.edu.cn/
使用方法 修改 /etc/docker/daemon.json ,加入:
123{ "registry-mirrors": ["https://dockerhub.mirrors.nwafu.edu.cn/"]}
然后重新启动 Docker 服务:
12sudo systemctl daemon-reloadsudo systemctl restart docker
前言在使用 Kubernetes 时,可能会遇到一些网络问题。当通过检查配置与日志无法排查错误时,这时就需要抓取网络数据包,但是Pod内一般不会安装tcpdump命令,那有没有方法可以直接通过宿主机抓取Pod网络数据包?
当然有,本文介绍 nsenter 命令,能够进入Pod容器 net 命名空间。并且本文提供一个快速进入Pod容器 net 命名空间脚本,方便大家使用。
nsenter 使用参数12345678910111213141516nsenter [options] [program [arguments]]options:-t, --target pid:指定被进入命名空间...
在排错过程中,kubectl 是最重要的工具,通常也是定位错误的起点。这里也列出一些常用的命令,在后续的各种排错过程中都会经常用到。
排错概览查看 Pod 状态以及运行节点12kubectl get pods -o widekubectl -n kube-system get pods -o wide
查看 Pod 事件1kubectl describe pod <pod-name>
查看 Node 状态12kubectl get nodeskubectl describe node <node-name>
kube-apiserver 日志12POD...
介绍 k8s集群的备份与恢复,主要就是etcd集群的备份与恢复。
ETCD一些基础查询操作查看集群状态123456二进制:ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/cert/ca.pem --cert=/etc/etcd/cert/etcd.pem --key=/etc/etcd/cert/etcd-key.pem --endpoints=https://10.16.2.17:2379,https://10.16.2.18:2379,https://10.16.2.19:2379 endpoint health阿里kubeadm:E...
背景 今天我们讨论的这个问题,跟 K8s 集群的 Namespace 有关。Namespace 是 K8s 集群资源的“收纳”机制。我们可以把相关的资源“收纳”到同一个 Namespace 里,以避免不相关资源之间不必要的影响。
Namespace 本身也是一种资源。通过集群 API Server 入口,我们可以新建 Namespace,而对于不再使用的 Namespace,我们需要清理掉。Namespace 的 Controller 会通过 API Server,监视集群中 Namespace 的变化,然后根据变化来执行预先定义的动作。
有时候,我们会遇到下图中...
1.列出pod并排序123# 题目一般都是按名字排序$ kubectl get pod --sort-by .metadata.name
2.找出pod中的错误日志123# 要求是把错误内容输出到某个文件中,可以粘贴,也可以直接重定向文件$ kubectl logs mypod-798fcd9949-lk9rc | grep error > xx.log
3.创建一个pod ,并调度到某个节点上1234567891011121314151617$ cat > pod.yaml << EOFapiVersion: v1kind: Podmetadata: ...
Kafka的配置详尽、复杂,想要进行全面的性能调优需要掌握大量信息,这里只记录一下我在日常工作使用中走过的坑和经验来对kafka集群进行优化常用的几点。
1.JVM的优化 java相关系统自然离不开JVM的优化。首先想到的肯定是Heap Size的调整。
12vim bin/kafka-server-start.sh 调整KAFKA_HEAP_OPTS="-Xmx16G -Xms16G”的值
推荐配置:一般HEAP SIZE的大小不超过主机内存的50%。
2.网络和ios操作线程配置优化:1234# broker处理消息的最大线程数num.network....
自动化发布前言:个人现在在 上海一家大数据挖掘公司:负责运维架构,自动化与系统运维相关工作,今天主要是整理了下现在团队APP发布流程:方案:
因为在项目迭代的过程中,不可避免需要”上线”。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。
个人整理下部署流程说明其实现在很多部署方法,现在我们用目前比较流行的几种部署方案,或者说策略方案对比总结简单讨论一下目前比较流行的几种部署方案,或者说策略。如有不足之处请指出,如有谬误,请指正^_^。
我们有自己开发环境和测试环境 :
开发环境部署:
问...
Kafka集群稳定GC调优 调GC是门手艺活,幸亏Java 7引进了G1 垃圾回收,使得GC调优变的没那么难。G1主要有两个配置选项来调优:MaxGCPauseMillis 和 InitiatingHeapOccupancyPercent,具体参数设置可以参考Google,这里不赘述。
Kafka broker能够有效的利用堆内存和对象回收,所以这些值可以调小点。对于 64Gb内存,Kafka运行堆内存5Gb,MaxGCPauseMillis 和 InitiatingHeapOccupancyPercent 分别设置为 20毫秒和 35。Kafka的启动脚本使用的不是 G1回收,需...