Background kubernetes是master-slave结构,master node是集群的大脑, 当master node发生故障时整个集群都"out of control".master node中最重要的当属apiserver组件, 它负责处理所有请求, 并持久化状态到etcd. 一般我们会部署多份apiserver实现高可用.官方建议在多个apiserver前面部署一个LB进行负载均衡,当其中一台apiserver发生故障之后,LB 自动将流量切换到其他实例上面.这…
摘要: Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volumes 3.下载pod的secret 4.通过docker/rkt来运行pod中的容器 5.周期的执行pod中为容器定义的liveness探针 6.上报pod的状态给系统的其他组件 7.上报Node的状态 1.以下操作属于node节点上组件的部署,在master节点上只是进行文件配置,然后发布至各nod…
一.问题描述 二进制部署的单Master节点的v1.13.10版本的集群,etcd部署的是3.3.10版本,部署在master节点上.在异常断电后,kubernetes集群无法正常启动.这里通过查看kubernetes和etcd的服务日志信息,发现etcd服务异常,无法重新启动,具体日志信息如下: Jun 29 09:39:37 k8s001 etcd[3348]: recovered store from snapshot at index 2600026 Jun 29 09:39:37 k8…
探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器? 探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器? 线上多个服务应用陷入了死循环,大量服务访问不通,陷入死循环的应用长时间搁置,并没有进行自愈. k8s应用容器没有检测到应用陷入了故障,容器未及时重启? 囧么肥事-胡说八道 弄清楚为什么要使用容器探针? kubernetes 集群的好处是可以监测应用容器健康状态,在必要时候进行故障自愈.Pod管家一旦调度到某个节点,该节点上…
问题描述 Kubernetes集群使用CentOS 7.6版本的系统时,kubelet日志中可能存在以下告警信息. Reason:KubeletNotReady Message:PLEG is not healthy: 问题原因 CentOS 7.6系统使用的systemd-219-62.el7_6.6.x86_64软件包存在缺陷,引发异常错误.如果您想了解更多信息,请参见[Node flapping between Ready/NotReady with PLEG issues.] https…
1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating "nginx-pod.yaml": Pod "nginx" is forbidden: no API token found for service account default/default, retry after the token is automatically…
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 首先kubernetes得官方文档我自己看着很乱,信息很少,所以结合了很多博客搭建的 其次因为既然用到docker,当然离不开kubernetes管理,还有swarm,前者管理复杂,但功能齐全 这里仅仅是安装部署,还未使用,具体使用出现问题后续更新 前提条件 系统时centos7上 关闭防火墙 systemctl stop firewalld.service…
本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱,然后私密博主,博主会很快答复呦~ 00.组件版本和配置策略 00-01.组件版本 Kubernetes 1.10.4 Docker 18.03.1-ce Etcd 3.3.7 Flanneld 0.10.0 插件: Coredns Dashboard Heapster (influxdb.graf…
kubernetes集群pod使用tc进行网络资源限额 Docker容器可以实现CPU,内存,磁盘的IO限额,但是没有实现网络IO的限额.主要原因是在实际使用中,构建的网络环境是往超级复杂的大型网络.这样的网络机构,如何管理每一个容器的带宽本身就是一个挑战,对一台主机来说,你已经限制了带宽,然后你想更细颗粒度的管理里面的容器带宽,而且容器的种类特别多,而且不能一刀切解决的,所以这是非常大的挑战.所以Docker没有实现网络资源的限制,把这部分工作交给第三方工具实现. 但是在实际的使用过程中,对网…
Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube-piserver.Kube-controller-manager.Kube-proxy.Kube-scheduler.CoreDNS等)以系统资源容器的形式运行在服务器上,而后者部署方式使得组件以服务形式运行在服务器上:当集群组件异常或者down状态时,前者可通过集群机制自动拉起,而后者则需人为操作…