本篇文章并不是介绍K8S 或者Docker的,而仅仅是使用过程中一些常见问题的汇总。
  1. 重启策略:http://kubernetes.io/docs/user-guide/pod-states/, 对于一个服务,默认的设置是RestartAlways,而其他的比如Job,重启策略则是Never or OnFailure,
  2. 如果docker重启,kubelet也要重启,否则pod的状态会变成Completed
  3. 如果报错是报image找不到,可能是因为与docker registry的认证关系没有建立,可以通过docker login 来解决
  4. 需要pause,可以docker tag修改源。
  5. 需要升级内核至少3.10版本,只能使用root
  6. 使用Nginx,尤其是对外网服务的时候可能会很管用。
  7. 使用kubectl scale 进行服务副本数的管理,同时也可以设置自动化扩容缩容机制
  8. rolling-update 进行在线升级
  9. 集群的HA需要关注,毕竟master挂了是个很麻烦的事情,组起码保证不了服务的可靠性
  10. 如果指定机房:可以使用label机制。每个逻辑机房部署一整套环境OR所有逻辑机房使用一整套环境
  11. Docker的升级实际上会kill机器上所有的服务实例,因此kubernetes的解决:让该节点处于维护状态

    cordon Mark node as unschedulable
    drain Drain node in preparation for maintenance
    uncordon Mark node as schedulable

  12. kubelet 打印了很多错误日志(ERROR),需要研究一下错误日志的含义。有必要对于FATAL日志进行监控进行报警,避免出现错误而不知道。

  13. 容错性测试,迁移一个pod到某个节点上,如果超时未部署好,会自动迁移到其他机器上
  14. 权限管理算是比较完善,但是需要额外的配置
  15. kubectl label no hostname role=master ,可以设置多个label,并且相同的key可以有不同的
  16. http://kubernetes.io/docs/api-reference/v1/definitions/, 看各种格式, kc scale rc sofacloud2-controller --replicas=20
  17. docker要注意WORKDIR,否则会导致运行时错误
  18. kubernetes dashboard 要部署到master节点,保证该节点不会被使用上。
  19. 自动的rebalance, 比如几个节点突然下线后,pod迁移到其他的节点,那么在节点上线后,会不会将pod迁移到其他的可用的节点上去。
  20. 配置dns的过程中,由于healthz没有建立,但是有liveness的监控,导致一个contianer直接killed。
  21. 如果服务需要访问其他节点非K8S管理的服务,最简单的方法是设置hotNetwork: true, 当然更好的方式是设置dns
  22. 搭建了kube-dashboard后,可以在web端创建和管理服务。

使用Kubernetes需要注意的一些问题(FAQ of k8s)的更多相关文章

  1. Kubernetes实战总结 - 阿里云ECS自建K8S集群

    一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9b ...

  2. Kubernetes学习之路(27)之k8s 1.15.2 部署

    目录 一.环境准备 二.软件安装 三.部署master节点 四.部署node节点 五.集群状态检测 一.环境准备 IP地址 节点角色 CPU Memory Hostname Docker versio ...

  3. kubernetes之二 使用minikube创建单节点k8s本地集群

    使用Minikube来运行kubernetes集群是最简单.快捷的途径.Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用.官方安装minikube教程请 ...

  4. kubernetes忘记token或者token过期怎么加入k8s集群

    1.先查看token是否还可用 [root@hadoop01 ~]# kubeadm token list 1.1) 还在则获取ca证书sha256编码hash值,不在则进行2操作 openssl x ...

  5. 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境

    介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...

  6. kubernetes教程第一章-kubeadm高可用安装k8s集群

    目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...

  7. Kubernetes (1.6) 中的存储类及其动态供给

    原文地址:http://blog.fleeto.us/translation/dynamic-provisioning-and-storage-classes-kubernetes-0?utm_sou ...

  8. Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装

    首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker  sudo ...

  9. Kubernetes 部署 Nebula 图数据库集群

    Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应 ...

随机推荐

  1. jacascript 原生选项卡插件

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 在布局的时候,想到了很多以前看到过的案例,再次熟悉一下: a链接之间的竖线:可以用a链接的border-r ...

  2. Spring Cloud学习笔记-004

    高可用注册中心 在微服务架构这样的分布式环境中,需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对于微服务如此,对于服务注册中心也一样.如果一直使用单节点的服务注册中心,这在 ...

  3. 如何用.reg文件操作注册表

    Windows Registry Editor Version 5.00 ;删除值 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpi ...

  4. ·c#之Thread实现暂停继续(转)

    暂停与继续实现,可以使用Thread.Suspend和Thread.Resume而这两个方法,在VS2010里提示已经过时,不建议使用,在网上查阅了一些资料,发现有个事件通知的方法很好,事件通知的大致 ...

  5. Unity依赖注入

    一.简介 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的 ...

  6. ML笔记:Deep Learning

    非DL:要找好的特征 DL:无需找好的特征,但新问题:要设计好的网络架构

  7. 实验吧_程序逻辑问题(代码审计)&上传绕过

    一开始我先随便输入了几个账号名字进行测试,发现当输入的账号名为admin时会发生报错 经过测试果然是一个注入点 当拿到admin密码后发现根本没用,没办法另寻他路 审查元素时发现提示index.txt ...

  8. [HAOI 2007]理想的正方形

    Description 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. Input 第一行为3个整数,分别表示a,b,n的值第二行至第 ...

  9. 2015 多校联赛 ——HDU5294(最短路,最小切割)

    Tricks Device Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  10. java 之 MyBatis(sql 可以执行,在eclipse执行报错问题)

    前段时间写 mybatis Sql 查询语句的时候,发现一个很奇怪的现象,我写的SQL 语句在 pl/Sql 中明明可以执行,但是放到 eclipse 中执行却报错,因为时间比较久,依稀记得是文字与字 ...