
kubernetes
文章平均质量分 69
qingyafan
分享云原生、GIS相关技术
展开
-
Kubernetes - Configmap热更新原理
GitHub地址: https://github.com/QingyaFan/container-cloud/issues/2Kubernetes中提供configmap,用来管理应用的配置,configmap具备热更新的能力,但只有通过目录挂载的configmap才具备热更新能力,其余通过环境变量,通过subPath挂载的文件都不能动态更新。这篇文章里我们来看看configmap热更新的原理,...原创 2019-11-01 01:02:40 · 12852 阅读 · 2 评论 -
Docker - Docker重启!机器宕机!容器能自己恢复吗?
能!启动容器的时候,可以指定容器在某些可预测(docker engine重启)与不可预测(机器宕机重启)时的重启行为,利用这个功能,我们可以放心当重启docker engine,也不用担心机器重启导致应用不可用。这个神奇的功能是“restart polices”,定义了当容器因为某种原因停掉之后的行为,有四种police:四种重启策略no,无论什么时候容器因为什么原因宕掉,都不重...原创 2019-08-16 12:05:07 · 10492 阅读 · 0 评论 -
Kubernetes - 服务网格(service mesh)
1. 服务网格诞生的背景服务网格并不是新概念,微服务架构被越来越多的机构采用是服务网格诞生的大背景。微服务相对于多个服务一体的单体应用来说,有诸多好处,因而被越来越多的采用:技术可异构,各个服务之间采用RPC或HTTP通信,约定好接口,使用哪种技术或语言都可以; 鲁棒性,如果微服务之间的依赖关系处理的好,可以做到一个服务挂掉不影响其他服务; 组合,独立的微服务意味着可重用性强,可以...原创 2019-07-07 00:39:12 · 2801 阅读 · 0 评论 -
Kubernetes - flannel的默认网卡设置
前两天新配置了几台虚拟机,像往常一样安装集群,但是在flannel这一步总是有问题,查看日志:Failed to find any valid interface to use: failed to get default interface: Unable to find default route没找到有效的网卡设备,解决办法也很简单,在flannel的启动参数中指定网卡即可:...原创 2019-06-24 23:40:00 · 9494 阅读 · 0 评论 -
Kubernetes - 记一次所有机器重启导致的集群问题
最近给客户部署的集群由于机器重启集群不能启动,首先执行kubectl get node,发现没有可用的node,于是去看centos的系统日志/var/log/message,日志中有x509,证书无效或已过期,心想,为啥重启集群会导致证书错误?且先记录下:x509,证书错误,无效或已过期于是从集群的基础从底层往上查,k8s将集群的信息会记录在etcd中,而各个节点由flannel分配...原创 2019-06-20 23:44:56 · 3670 阅读 · 0 评论 -
Kubernetes - 如何在一个完全离线的环境中快速建立一个kubernetes集群
要做的是什么我们讨论的是这样一个任务,在一个完全隔绝外网环境的多台机器(物理机或虚拟机)上自动化地建立kubernetes集群,这个任务包含一下几个要点:纯内网,与外网隔绝; 自动化,只需配置机器IP,即可安装,安装过程无需人工干涉; 假定机器上最小化安装的Centos Linux系统,没有ansible、kubeadm等工具使用,我们能用的只有 shell。想直接使用安装脚...原创 2019-06-13 23:36:14 · 1237 阅读 · 4 评论 -
Docker - 制作一个合格的docker镜像,以及最佳实践
什么是镜像制作Docker镜像之前,我们先明确一下镜像是什么,百度百科对于镜像的定义如下:镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。可以把许多文件做成一个镜像文件,与GHOST等程序放在一个盘里用GHOST等软件打开后,又恢复成许多文件,RAID 1和RAID 10使用的就是镜像。常见的镜像文件格式...原创 2019-06-06 16:28:01 · 2517 阅读 · 0 评论 -
Docker/Kubernetes - 调试
容器启动失败,单机环境下,我们可以这样检查原因:docker logs container_name docker inspect container_name在kubernetes容器云环境中,可以这样检查原因:kubectl logs pod_name kubectl describe pod pod_name其他情况有时候通过以上的方法也不行,例如,使用kubectl d...原创 2019-06-06 13:09:43 · 323 阅读 · 0 评论 -
Kubernetes - GC的镜像自动清理导致的问题
Kubernetes集群随着应用的迭代,会产生很多无用的镜像和容器,因此需要定时清理,分布在每个节点的Kubelet有GC(垃圾收集)的职责,当集群中有断定为垃圾的镜像或容器,那么kubelet会清除掉相关镜像或容器。容器GC间隔为1分钟,镜像GC间隔为5分钟。而这在某些情况下会产生问题,如:私有离线部署环境中,如果某个node节点相关的镜像被清理了,当在这个启动相关容器就会失败,由于是离线,那么...原创 2019-04-16 20:52:26 · 4848 阅读 · 1 评论 -
Kubernetes - 集群中容器访问集群外部服务
企业内部一般存在很多的微服务,在逐步容器化的过程中,会有部分服务在集群外部,未完成容器化,比如数据库,而部分已经完成容器化的依赖于这些服务的服务,过渡过程中,需要集群内部的容器访问集群外部的服务。为了在容器化过程中,让服务不中断,就需要让Kubernetes集群内部的容器能访问集群外部的服务,怎么做到呢,在每个应用的配置文件中使用外部IP或者外部rds名字吗?这样做,在外部的应用容器化后,还需要...原创 2018-10-16 14:31:17 · 9393 阅读 · 0 评论 -
Kubernetes - nginx-ingress 配置跳坑指南
GitHub地址: https://github.com/QingyaFan/container-cloud/blob/master/kubernetes-ingress-2018-06-e.mdIngress是Kubernetes集群对外暴露服务的一种推荐方式,Ingress其实是封装了nginx(也可以是traefic),背后还是nginx在发挥作用,Ingress的作用是不断检测服务的e...原创 2018-09-13 18:12:01 · 29469 阅读 · 8 评论