kubernetes
felix_yujing
Better in Time
展开
-
K8S Pod该如何监控
背景由于业务容器化的推进,对K8S上运行的业务,也必须做到向之前物理机/虚拟机上一样,要有完备的监控保障。但是,毕竟K8S不是物理机/虚拟机,由于技术实现方式不同,监控方面也是有一定差别的。Pod是K8S上调度的最小单元,本文就K8S Pod该如何监控进行说明。CPU在使用物理机/虚拟机时,对于CPU的监控通常关注的是CPU使用率、CPU负载等。在K8S场景下,关注的指标有所不同:CPU使用率、CPU受限(CPU Throttled)时间或占比等。CPU使用率K8S场景下,CPU使用率是相对CP原创 2020-06-17 00:37:32 · 8754 阅读 · 5 评论 -
Prometheus中label名不一致的常用解决方案
在Prometheus的时候,有时候出于某种目的,经常会有要重命名label的需要。比如,老K8S集群上标识pod名的label叫pod_name,新K8S集群上的pod名label叫pod, 这种不一致会造成一些不必要的麻烦。为了保障label取值的统一,这里介绍两种常用的方法。采集时处理使用metric_relabel_configs来实现。下面这段配置会添加一个名为pod_name的label,其值为pod的值:metric_relabel_configs:- source_labels: [原创 2020-06-16 23:52:04 · 3875 阅读 · 0 评论 -
ingress nginx传递用户真实ip问题
业务应用经常有需要用到用户真实ip的场景,比如:异地登录的风险预警、访问用户分布统计等功能等。当有这种需求的时候,在业务上容器过程中,如果用到ingress就要注意配置了。通常,用户ip的传递依靠的是X-Forwarded-*参数。但是默认情况下,ingress是没有开启的。ingress的文档还比较详细,这里介绍一下可能用到的这3个参数:注:在文档顶栏的搜索框搜索forward字样就可以找到这3个参数1. use-forwarded-headers如果Nginx在其他7层代理或负载均衡后面原创 2020-06-08 13:41:34 · 7313 阅读 · 2 评论 -
Galaxy固定容器IP网路方案
背景在推动业务上容器过程中,存在业务方框架(如Java的dubbo)对ip依赖较重,但框架改造周期较长的问题。为了解决这个问题,运维侧从网络层面固定容器IP的方式着手,引入了腾讯开源的Galaxy插件。这里对此插件的安装部署进行说明。Galaxy架构概览Galaxy网络方案主要包括两个模块:galaxy:以daemonset形式存在每个k8s集群的节点上,它通过判断pod annotation信息,来设定pod网络是用固定ip还是非固定ipgalaxy-ipam:根据pod的生命周期,完成po原创 2020-05-31 20:00:03 · 1976 阅读 · 0 评论 -
K8S的10个常见失败问题的原因
1. Wrong Container Image / Invalid Registry Permissions当pod状态为ErrImagePull或ImagePullBackOff时,通常是由于以下3个原因(在排查网络故障的前提下):镜像tag写错镜像不存在,或拉取的镜像仓库地址写错没有拉取镜像的权限(漏配了imagePullSecrets)2. Application Crash...翻译 2020-04-30 23:53:34 · 13035 阅读 · 0 评论 -
Kubernetes学习笔记---安装
安装环境Centos7.1系统的机器3台Master:192.168.0.120Nodes:192.168.0.106, 192.168.0.107 =====Master=====1 在Master上安装kubernetes etcd flannelyum install kubernetes etcd flannel -y2 修改配置文件/e原创 2016-06-09 16:08:08 · 8028 阅读 · 2 评论 -
Kubernetes学习笔记---常用命令
1 查看类命令---# 查看集群信息kubectl cluster-info# 查看各组件信息kubectl -s http://localhost:8080 get componentstatuses# 查看pods所在的运行节点kubectl get pods -o wide# 查看pods定义的详细信息kubectl get pods -o原创 2016-06-09 17:14:06 · 12665 阅读 · 0 评论 -
修改K8S中NodePort方式暴露服务的端口的默认范围(30000-32767)的方法
比如像把端口范围改成0-65535,则在apiserver的启动命令里面添加如下参数: –service-node-port-range=0-65535原创 2017-12-03 14:52:50 · 27289 阅读 · 2 评论 -
Jenkins On Kubernetes---Jenkins上Kubernetes Plugin的使用
之前写过一篇《Jenkins On Mesos—Jenkins上Mesos Plugin的使用》的博客,说的是Jenkins通过Mesos Plugin来实现slave节点的动态扩展和收缩。如果使用docker的人,不知道kubernetes的话,总是显得有些尴尬,所以最近自己也开始在测试环境使用目前火热的Kubernetes 1.8版(之前是在用Marathon+Mesos那一套)。Maratho原创 2017-12-06 15:46:52 · 16442 阅读 · 11 评论