容器云
文章平均质量分 64
Docker、Kubernetes与云计算相关,即容器云
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 - 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 评论 -
Docker - 容器内应用和外部非容器应用互相访问方法
Docker搭建开发环境用的非常多,通常开发机器上既有容器形式的应用,又有本机跑着或者调试的程序,它们之间互相依赖,如何让它们之间通信顺畅,有时候是一个挺困难的事情。容器应用和容器外应用互相访问分为三种情况:容器内应用和容器内应用 容器内应用访问容器外应用 容器外应用访问容器内应用而根据两个互相通信的容器或应用在不在一台服务器上,我们又多出一个维度的情况:容器或应用在一台服务器 容...原创 2019-05-29 23:49:22 · 18773 阅读 · 7 评论 -
Kubernetes - GC的镜像自动清理导致的问题
Kubernetes集群随着应用的迭代,会产生很多无用的镜像和容器,因此需要定时清理,分布在每个节点的Kubelet有GC(垃圾收集)的职责,当集群中有断定为垃圾的镜像或容器,那么kubelet会清除掉相关镜像或容器。容器GC间隔为1分钟,镜像GC间隔为5分钟。而这在某些情况下会产生问题,如:私有离线部署环境中,如果某个node节点相关的镜像被清理了,当在这个启动相关容器就会失败,由于是离线,那么...原创 2019-04-16 20:52:26 · 4848 阅读 · 1 评论 -
Docker - 挂载目录(bind mounts)和Volume是不同的
2019/10/25更新:docker commit是不能对容器中volume声明的目录改动进行保存的,无论是Dockerfile中的VOLUME字段,还是docker-compose.yaml中的volumes配置。分割线,知乎上学到的套路。以下是原文:一直一来,对于多个容器需要共享访问同一数据目录,或者需要持久化容器内数据(如数据库)时,我们都是采用挂载目录形式(bind m...原创 2019-04-26 22:25:06 · 16868 阅读 · 1 评论 -
Kubernetes - 集群中容器访问集群外部服务
企业内部一般存在很多的微服务,在逐步容器化的过程中,会有部分服务在集群外部,未完成容器化,比如数据库,而部分已经完成容器化的依赖于这些服务的服务,过渡过程中,需要集群内部的容器访问集群外部的服务。为了在容器化过程中,让服务不中断,就需要让Kubernetes集群内部的容器能访问集群外部的服务,怎么做到呢,在每个应用的配置文件中使用外部IP或者外部rds名字吗?这样做,在外部的应用容器化后,还需要...原创 2018-10-16 14:31:17 · 9393 阅读 · 0 评论 -
Docker - 容器中的Loopback
Loopback概念TCP/IP协议族中包含一个虚拟网络接口(virtual network interface),通过这个接口同一主机上的不同网络应用就可以相互通信,发送到loopbackIP地址的通信会直接发送到本机的网络通信栈,被本机接受,不会真的发出去,而接受到这个通信的应用就像这个通信是来自其它主机一样消费它。我们常用的127.0.0.1和localhost都是loopback的,在...原创 2018-09-29 00:25:10 · 1807 阅读 · 0 评论 -
Docker - Volumes
类比挂载磁盘我们可以把volume看做挂载磁盘,将宿主机的一个目录挂载到容器内的某个目录,那么实际的文件是存储在宿主机的目录的,容器内只是一个挂载目录,并不存储实际文件。用处容器的存储和网络都是和宿主机隔离的,Volume给了从宿主机访问容器内目录的方法。Volume经常用于持久化容器的数据,比如数据库;暴露配置文件,在宿主机方便的修改容器内的文件。持久化数据对于一个数...原创 2018-09-12 08:31:49 · 888 阅读 · 0 评论