• 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...


  • 怎么设置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...


  • kubernets部署备忘

    记录下GFW内k8s的部署流程,备忘。 1、各节点上配置hostname,配置resole.conf echo "titan1" > /etc/hostname sysctl kernel.hostname="titan1" echo "nameserver x.x.x.x" >> /etc/resolv.conf 2、各节点上加k8s的repo cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernete...


  • 谈谈kubernets的service组件的Virtual IP

    Service kube-proxy NodePort k8s的pod可以有多个副本,但是在访问pod时,会有几个问题: 客户端需要知道各个pod的地址 某一node上的pod如果故障,客户端需要感知 为了解决这个问题,k8s引入了service的概念,用以指导客户端的流量。 Service 以下面的my-nginx为例。 pod和service的定义文件如下: [root@localhost k8s]# cat run-my-nginx.yaml apiVe...


  • kubernets的网络插件:flannel

    docker的网络方案 k8s的flannel模式 flannel模式原理 flannel模式:udp vs vxlan 部署及验证 kubernets的网络,从设计上来讲是“扁平、直接”的,即要求: 所有容器可以不使用NAT技术就可以与其他容器通信 所有节点(物理机 虚拟机 容器)都可以不使用NAT同容器通信 容器看到的IP地址和别的机器看到的IP是一致的 docker的网络方案 docker的网络支持如下四种:...


  • Scala字符串插值的妙用,以及java+scala混合编程

    一 二 一 我们在项目中遇到一个需求,输入为json字符串,如: { "title": "lrtest", "alg": "LogisticRegression", "params": { "inputTable": "xxx.lrtest3", "labelColumn": "label", "featureColumns": [ {"columnName":"f0","columnType":"Double"}, ...


  • Java虚拟机笔记(3):Java内存模型与线程

    Java 内存模型 Java线程 从硬件出发: 1、各处理器有自己的缓存,但当多个处理器涉及的同一块主内存,处理器需要遵循一些一致性协议来操作主内存。Java Memory Model(JMM)与此类似。 2、为了处理器内部的运算单元能够最大化得到利用,处理器可能会对输入代码进行乱序运行优化。Java虚拟机的编译器也有指令重排序的功能。 Java 内存模型 分为整个虚拟机范围的主内存和各个线程的工作内存;线程只能操作自己的工作内存,不能直接操作主内存或其他线程的工作内存(线程间的...