使用k8s已有近一年的时间,版本从1.2到1.5、1.6、1.7,期间出现并解决了不少问题,下面是我总结的影响k8s集群稳定性的因素:

1. 安装环境

*kubelet版本最好与kube-apiserver、kube-controller-manager、kube-scheduler匹配;

*docker版本必须符合k8s的要求(当前是1.12);

*在xfs文件系统上使用docker overlay storage 请用下述命令重新格式化分区:mkfs.xfs -n ftype=1

2. 持久化存储

*除非硬件和网络性能足够,否则不要使用分布式存储,比如:glusterfs、ceph,否则,分布式存储的延迟和多节点数据不同步会严重影响k8s集群的稳定;

*可选择单节点的NFS4或者专业存储设备;

3. docker 镜像服务

*确保 docker registry 足够的稳定性和高性能(这一点往往不容易达到);
*部署容器前,提前pull镜像,并把部署文件的ImagePullPolicy设为IfNotPresent;

4. k8s的配置

k8s的配置错误或者冲突也会造成集群的不稳定,但这方面的问题往往比较隐蔽、不容易找出。
*kube-controller-manager的node-monitor-grace-period 不能过短,否则k8s node会不断出现NotReady的错误;
*...

5. etcd

etcd是k8s核心组件之一,存储k8s的api对象,它对磁盘和网络性能很敏感,建议按照官方说明配置如下:
*使用SSD代替普通磁盘
*使用1G以上的网络
*使用多节点(3个或5个)的集群

附:k8s故障排查方法

*建立k8s和容器监控,及时发现问题;
*出现问题后查看日志、找出原因:kube-apiserver、kube-controller-manager、kube-scheduler、其它容器的日志,以及/var/log/messages
*使用google查询解决方案

[经验交流] 影响 kubernetes 稳定性的因素的更多相关文章

  1. seo优化入门教程:影响关键词排名的因素

    很多人都说网站优化,但是怎么个优化法?优化什么东西?很多人都不知道.虽然我们优化的是我们的网站,但是提升的却是我们的关键词排名. 我们不管去优化哪一个网站,得到的搜索结果,他都会去触发关键词排名的因素 ...

  2. 影响ERP成功实施的因素及实施方法

    一.影响ERP实施的因素 1.企业自身管理和认识上的问题.在ERP实施过程中没有用变革管理的理念和方法来策划和管理ERP的实施是导致ERP失败的主要原因. ERP作为一种管理工具他的实施本身就是操作手 ...

  3. 影响JavaScript应用可扩展性因素

    引言:JavaScript 应用变得越来越庞大.这是因为使用JavaScript能做的事情远比我们大多数人所需求的要多得多.我们不能仅因为技术上可行,就去考虑软件系统的扩展问题.为一个不需要扩展的系统 ...

  4. 【转】性能测试,影响 TPS 的一些因素

    首先我们要先了解下TPS的具体含义: TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位. 下面 ...

  5. mysql中影响数据库性能的因素讲解

    mysql中影响数据库性能的因素讲解 在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情,“你对数据 ...

  6. [经验交流] Active-Active 方式设置 kubernetes master 多节点高可用

    关于 kubernetes master 多节点以及高可用,网上的方法多采取 Active-Standby 方式,即: 通过 pacemaker 等软件使得某种 master 服务(apiserver ...

  7. [经验交流] Kubernetes Nginx Ingress 安装与使用

    Ingress 介绍 Kubernetes 上部署的微服务运行在它的私有网络中, 通过Pod实例的hostPort或Service实例的NodePort可以暴露到主机端口上,便于用户访问.但这样的方法 ...

  8. [经验交流] kubernetes v1.11 更新了高可用方案

    kubernetes v1.11已经发布了一段时间,和以前相比,一个显著亮点是更新了高可用方案: https://kubernetes.io/docs/setup/independent/high-a ...

  9. [经验交流] kubeadm 安装 kubernetes 一年过期的解决办法

    kubeadm 是 kubernetes 提供的一个初始化集群的工具,使用起来非常方便.但是它创建的apiserver.controller-manager等证书默认只有一年的有效期,同时kubele ...

随机推荐

  1. Linux下的crontab

    Ubuntu服务器/var/log下没有cron日志,这里记录一下如何ubuntu server如何查看crontab日志 crontab记录日志 修改rsyslog sudo vim /etc/rs ...

  2. 类String 初识

    String类概述 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例.类 String 中包括用于检 ...

  3. 在C++中定义常量

    在 C++ 中,有两种简单的定义常量的方式: 使用 #define 预处理器. 使用 const 关键字 使用 #define 预处理器: #define identifier value: #inc ...

  4. RPM管理工具

    linux软件包从内容上可以分为binary code和source code(二进制包和源码包) binary code无需编译,可以直接使用 source code需要经过GCC,C++编译环境编 ...

  5. NodeJs操作MongoDB之多表查询($lookup)与常见问题

    NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...

  6. Python基础:搭建开发环境(1)

    1.Python语言简介 2.Python环境 Python环境产品存在多个. 2.1 CPython CPython是Python官方提供的.一般情况下提到的Python就是指CPython,CPy ...

  7. ISOMAP和MDS降维

    转载自https://blog.csdn.net/victoriaw/article/details/78497316 核心:测地线距离(dijstra最短路径获得).MDS降维 Isomap(Iso ...

  8. 搭建alpine仓库 提供apk包

    搭建alpine私有仓库从官方拉取alpine所有的包 wget -r -np -nH http://nl.alpinelinux.org/alpine/v3.5/main/x86_64/ wget ...

  9. ios端阻止页面滚动露底

    转自 http://www.eboy.me/archives/129: 在IOS端的微信中使用H5页面,页面滑动到底部时,再向上拉或页面在顶部时下拉,总会露出微信自带的底色:总是会让人不爽. 以下是一 ...

  10. audio与video控件/标签的隐藏,iso/Android下自动全屏播放,短暂黑屏问题

    (一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xx ...