• 杀死一只小鲸鱼

    docker容器退出会收到哪些信号? docker stop docker kill docker rm -f 应用应该处理哪个信号? 应用是怎么接收到信号的 之所以会有这个主题,是因为这几天我给mysql集群前置了一个keepalived,为了方便也做成了docker镜像,丢给k8s来部署。但实际测试时发现,当停止或者删除keepalived容器后,网卡上还残余之前keepalived下发的virtual ip。 直...


  • kubernetes如何解决服务依赖呢?

    如何知道Pod已经Ready 延迟应用的部署 结论 原文链接在此。写的比较通俗易懂,做个笔记,有一些是我自己的理解。 在微服务的世界里,任何应用都需要注意,其所依赖的服务是会中断的。所以当应用发现某服务(如数据库)出现了故障,应该每隔一端时间去重试。而上层框架(如k8s)会检测到服务故障,并尝试恢复这个服务。 但在现实世界里,有些旧应用并没有处理这种情况,但我们还是希望能将他们也跑在微服务框架里,以期得到微服务的红利(例如应用故障重启),所以,需要定义服务依赖关系,从而保障旧应用...


  • 如何给kube-dns插一条自定义的域名记录

    kube-dns原理解析 如何增加一条记录呢? kube-dns原理解析 在我们用的kubernetes 1.5.4版本里,kube-dns与之前版本的实现有所不同。 旧版本中,kube-dns由4个容器组成: etcd,存储dns数据 kube2sky,作为桥梁,监控kubernetes api server,向skydns写入DNS规则 skydns,提供DNS服务 healthz,健康检测 但在我们的1.5.4版本中,kube-dns只有3个容器: ...


  • k8s镜像:安装kubernetes,访问不了gcr.io怎么办?

    github开启对docker hub的读授权 Dockerfile上github Docker Hub上创建Automated build 取到本地并push到private Registry 补 如何使用 之前在安装k8s的时候,我们提到了依赖的gcr.io/google_containers里的镜像因为GFW的原因取不到,但是暂时没有gcr.io的国内镜像,怎么办呢? 方法1:如果有aws上的EC2虚拟机,远程到虚拟机上docker...


  • kubernets: Persistent Volume & Persistent Volume Claim

    安装NFS 创建一个5GB的PV 创建一个带PVC的nginx RC 验证 k8s 1.5版本支持了有状态应用StatefullSet,其中一个很重要的技术支撑点就是,持久化存储。 在前面介绍Statefull的时候,我把涉及到PV的地方改为使用HostPath+nodeSelector来代替了,虽然可以达到“有状态”的目的,但是应用如果要保证数据的HA,需要应用本身起多副本,并且副本之间需要能够自行完成数据的备份。 要求有点高。 更好的做法是什么呢?回过头来看,如果将应用...


  • 多说要关闭了

    我的讨论框插件用的是多说,其实也说不上多满意,因为故障率还是挺高的,后台有时会打不开。但总归还是可以用的,所以也没有去关注有没有其他的讨论框插件。 结果今天一开邮箱,看到了这么封邮件: 尼玛。 多说是如何盈利的,一直是个未解之谜。知乎上有几个相关的问题,但都是0回答,侧面也反映了多说的现状,关闭也就不奇怪了。 多说关闭了以后,评论框可以用谁家的呢? 推荐下网易的 云跟帖 ,使用方法跟多说类似,获取代码然后贴到自己blog里就好了,具体效果你拉倒本文最后就可以看到了。 网易云跟帖有导入 ...


  • kubernets: Headless Services

    我知道Service,但Headless Services 是用来做什么的呢? Headless Service也是一种Service,但不同的是会定义spec:clusterIP: None,也就是不需要Cluster IP的Service。 还记得Service的Cluster IP是做什么的吗?对,一个Service可能对应多个EndPoint(Pod),client访问的是Cluster IP,通过iptables规则转到Real Server,从而达到负载均衡的效果(实现原理请见这里)。...


  • kubernets: StatefulSets Basics

    Objectives Before you begin Creating a StatefulSet Pods in a StatefulSet Scaling a StatefulSet Updating Containers Deleting StatefulSets 原文在这。部分涉及到PV的地方做了修改。 Objectives StatefulSets是为了有状态的应用和分布式系统设计的。然而有状态应用、分布式系统的管理是一个宽泛、复杂的主题。为了演示St...


  • 写给自己的Java面试题(2):复用类、多态

    可以通过this访问static变量吗? 可以。static可以通过类和对象来访问,this是对象的引用,当然可以通过this访问static变量、方法。 类域初始化的规则? 本质上都是赋值为0,具体到基础类型则为0(int), 0.0(float), false(boolean),而对象引用则为null。 注意String, Integer这种基础类型的包装类,类域实际是个引用,print出来是null的。 父类和子类的初始化顺序是什么? 先父类,后子类,不管子类里有没有调用super(a...


  • 怎么设置pxe安装时使用的cobbler的默认ks?

    在之前的如何为linux集群批量装机?中,提到了可以使用cobbler来安装pxe装机环境,最近在写cobbler安装的脚本,遇到了一个问题: 怎么设置pxe安装时使用的cobbler的默认ks? 之前解决过这个问题,但是时过境迁已经完全忘记了,这里记录下过程。 cobbler import --arch=x86_64 --path=/mnt/iso --name=CentOS-7 cobbler signature update cobbler profile edit --name=Ce...