使用Kubernetes需要注意的一些问题(FAQ of k8s)
2016-04-29 15:57
645 查看
本篇文章并不是介绍K8S 或者Docker的,而仅仅是使用过程中一些常见问题的汇总。重启策略: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端创建和管理服务。
如果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端创建和管理服务。
相关文章推荐
- centos6.5上安装docker
- docker容器的网络信息查看
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 在Docker中自动化部署Ruby on Rails的教程
- 搭建基于Docker的PHP开发环境的详细教程
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦
- 再Docker中架设完整的WordPress站点全攻略
- 基于 Docker 开发 NodeJS 应用
- 使用Docker来加速构建Android应用的基本部署思路解析
- 在Docker上部署Python的Flask框架的教程
- 在Docker上开始部署Python应用的教程
- 详解在Python和IPython中使用Docker
- python脚本监控docker容器
- 使用IPython来操作Docker容器的入门指引
- OSX下brew安装docker(boot2docker)
- docker 设置TLS远程访问
- mesos + marathon + docker部署