使用Kubernetes需要注意的一些问题(FAQ of k8s)
- 重启策略:http://kubernetes.io/docs/user-guide/pod-states/, 对于一个服务,默认的设置是RestartAlways,而其他的比如Job,重启策略则是Never or OnFailure,
- 如果docker重启,kubelet也要重启,否则pod的状态会变成Completed
- 如果报错是报image找不到,可能是因为与docker registry的认证关系没有建立,可以通过docker login 来解决
- 需要pause,可以docker tag修改源。
- 需要升级内核至少3.10版本,只能使用root
- 使用Nginx,尤其是对外网服务的时候可能会很管用。
- 使用kubectl scale 进行服务副本数的管理,同时也可以设置自动化扩容缩容机制
- rolling-update 进行在线升级
- 集群的HA需要关注,毕竟master挂了是个很麻烦的事情,组起码保证不了服务的可靠性
- 如果指定机房:可以使用label机制。每个逻辑机房部署一整套环境OR所有逻辑机房使用一整套环境
- Docker的升级实际上会kill机器上所有的服务实例,因此kubernetes的解决:让该节点处于维护状态
cordon Mark node as unschedulable
drain Drain node in preparation for maintenance
uncordon Mark node as schedulable kubelet 打印了很多错误日志(ERROR),需要研究一下错误日志的含义。有必要对于FATAL日志进行监控进行报警,避免出现错误而不知道。
- 容错性测试,迁移一个pod到某个节点上,如果超时未部署好,会自动迁移到其他机器上
- 权限管理算是比较完善,但是需要额外的配置
- kubectl label no hostname role=master ,可以设置多个label,并且相同的key可以有不同的
- http://kubernetes.io/docs/api-reference/v1/definitions/, 看各种格式, kc scale rc sofacloud2-controller --replicas=20
- docker要注意WORKDIR,否则会导致运行时错误
- kubernetes dashboard 要部署到master节点,保证该节点不会被使用上。
- 自动的rebalance, 比如几个节点突然下线后,pod迁移到其他的节点,那么在节点上线后,会不会将pod迁移到其他的可用的节点上去。
- 配置dns的过程中,由于healthz没有建立,但是有liveness的监控,导致一个contianer直接killed。
- 如果服务需要访问其他节点非K8S管理的服务,最简单的方法是设置hotNetwork: true, 当然更好的方式是设置dns
- 搭建了kube-dashboard后,可以在web端创建和管理服务。
使用Kubernetes需要注意的一些问题(FAQ of k8s)的更多相关文章
- Kubernetes实战总结 - 阿里云ECS自建K8S集群
一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9b ...
- Kubernetes学习之路(27)之k8s 1.15.2 部署
目录 一.环境准备 二.软件安装 三.部署master节点 四.部署node节点 五.集群状态检测 一.环境准备 IP地址 节点角色 CPU Memory Hostname Docker versio ...
- kubernetes之二 使用minikube创建单节点k8s本地集群
使用Minikube来运行kubernetes集群是最简单.快捷的途径.Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用.官方安装minikube教程请 ...
- kubernetes忘记token或者token过期怎么加入k8s集群
1.先查看token是否还可用 [root@hadoop01 ~]# kubeadm token list 1.1) 还在则获取ca证书sha256编码hash值,不在则进行2操作 openssl x ...
- 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...
- kubernetes教程第一章-kubeadm高可用安装k8s集群
目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...
- Kubernetes (1.6) 中的存储类及其动态供给
原文地址:http://blog.fleeto.us/translation/dynamic-provisioning-and-storage-classes-kubernetes-0?utm_sou ...
- Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker sudo ...
- Kubernetes 部署 Nebula 图数据库集群
Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应 ...
随机推荐
- jacascript 鼠标事件和键盘事件
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 鼠标事件 鼠标事件共10类,包括click.contextmenu(右键).dblclick(双击).mo ...
- oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)
结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...
- Spring基础复习
Spring IOC 使用注解实现Bean管理 注解类型: @Component:spring定义的通用注解,可用于注解任何bean @Repository, @Service,@Controller ...
- Shell编程-项目部署(一)
由于实际工作中经常用到需要部署项目,比较麻烦,今天记录下如何利用shell脚本完成自动部署的工作,毕竟不是专业的运维出身,写的不好,还请勿喷_^o^_ 今天以部署Django项目为演示,进行部署项目, ...
- 直接插入排序算法:ArrayList实现和数组实现
直接插入排序算法思想: 排序区间R[1..n]: 在排序的过程中,整个排序区间被分为两个子区间: 有序区R[ 1 ... i-1 ]和无序区R[ i ... n ]: 共进行n-1趟排序,每趟排序都是 ...
- [Codeforces 919F]A Game With Numbers
Description 题库链接 两个人 Van♂ 游戏,每人手上各有 \(8\) 张牌,牌上数字均为 \([0,4]\) 之间的数.每个人在自己的回合选自己手牌中数字不为 \(0\) 的一张与对方手 ...
- [Luogu 1410]子序列
Description 给定一个长度为N(N为偶数)的序列,问能否将其划分为两个长度为N/2的严格递增子序列, Input 若干行,每行表示一组数据.对于每组数据,首先输入一个整数N,表示序列的长度. ...
- [HNOI2003]消防局的设立
题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状 ...
- bzoj 2437: [Noi2011]兔兔与蛋蛋
Description Solution 考虑犯错误的条件:之前是处于必胜状态,该操作之后就变成了必败状态. 我们可以把这个过程看成两人对网格图进行黑白染色,变成了一个二分图模型,即当前位置向相邻不同 ...
- WISCO信息组NOIP模拟赛-部落冲突
传送门 首先肯定考虑树剖,这里没有要求区间加,所以可以用树状数组维护,不会卡常的 这里是边权,可以转化为点权:让每条边连接的较深的节点的点权等于边权即可,然后计算的时候减去lca #include&l ...