Drupal 中文圈之怪现状

Tags: 

今天收到了 水滴之声的第 113 期,因为职业敏感,最后一条关于 SKU 的问答引起了我的注意,也就进到 Drupal 大学 这一 Drupal 中文圈类似知乎的一个网站来浏览这一问题。

问题很弱,回复也很矬。所谓一叶知秋,这一问一答之中,清晰的反映了我眼中中国 Drupal 圈的部分现状。

kubectl config 文件示例

Tags: 
apiVersion: v1
kind: Config
# Clusters 一节用于存储对多个 Master 的定义,大致包含证书,服务器地址等信息
clusters:
- cluster:
    certificate-authority: certs/pd/ca.crt
    server: https://10.211.55.87:6443
  name: pd-secure
# Users 一节用于存储用户凭据,可对应 Token, Basic 等验证方法
users:
- name: fake-user
  user:
    password: password
    username: admin  
# Contexts 这里会用上面的集群和用户信息,来形成完整的连接信息
contexts:
- context:
    cluster: pd-secure
    namespace: kube-system
    user: fake-user
  name: pd-local
# 当前生效的 Context,可以利用 kubectl config use-context 来切换
current-context: pd-local
preferences: {}

Ansible Playbook 拼接字符串

目前使用 Playbook 方式进行部署的一般是集群系统,面对不定数量的一组 Host,经常需要利用这一组主机的信息来拼接为一个字符串,以此结果设置为变量,其他需要集群信息的配置文件/命令行参数就可以引用这一信息了。

下面代码以一组 Host 生成形如 server1=ip1:port,server2=ip1:port 的结果。

Host 信息:

Drupal 开发和服务环境的最佳实践

Tags: 

一个新项目在启动初期,往往需要向客户描述一下我们的开发流程。这一过程帮助我们的客户相信,我们的流程能够为项目的短期和长期目标提供有力的保障。这其中自然需要描述我们的环境。幸运的是,有很多 Drupal 为中心的项目主机环境可以参考,我们的团队根据项目需要进行主机选择。这意味着我们几乎同所有的 Drupal 主机平台打过交道,因此我们对各个选项的优劣是比较清楚的。

Git 是基础的基础

第一,最重要的,所有的 Drupal 开发(其他开发也应该是)都应该使用 Git。Git 是一个用于分布式开发、非线性流程的版本控制系统。简单说来,Git 能有效的保护你的代码,防止误操作等人为损失。他还提供了详细的工作历史。Git 具有最佳的性价比

git

利用 Git 进行版本控制,解决开发问题,保障工作成果。

参与 2016 年度 Drupal 状况调查

Tags: 

我已经写了很多我认为对 Drupal 未来很重要的事情,现在轮到你了。在每个 Drupal 主版本发布之后,我会做一个“产品管理调查”,来搜集你的意见和数据,用于确认未来版本的 Drupal(8.x/9 )的焦点。

上次做这个调查的时候是 Drupal 7 的发布。当时 Drupal 8 的开发进行了六个月。我在 2011 年度 DrupalCon London 上公布了结果。调查结果不仅是 Drupal 社区的参考,更是 Drupal 8 定义提案的基础。现在我希望获得同样甚至更好的结果,帮助 Drupal 更好的响应复杂的市场趋势。

参与 2016 年度 Drupal 状况调查

Kubernetes 1.2 五日谈

过去几个星期里,Kubernetes 跨越了不少重要的里程碑。Kubernetes 1.2 发布了,在欧洲举行了第一次大会,被 Cloud Native Computing Foundation 接纳。歇歇脚之后,我们想要花一点时间来这四个月来,整个社区做出的重大贡献。

Kubernetes 的使命是让分布式系统更简单易用。Kubernetes 1.2 具有众多新特性,这些新功能让我们离目标更近一部。接下来的一周内,我们会发布一系列的深度介绍,所以请每天回来阅读最新内容,了解让 Kuberntes 成为最易用的容器运行平台的新功能。不要换台!

在 Kubernetes 中使用部署(Deployment)对象

Kubernetes 简化了应用的部署管理,大多数操作都可以用一个 API 或者命令行搞定,例如应用生成、金丝雀测试以及升级。我们为什么还需要部署对象?

部署对象把部署和滚动更新进行了自动化。跟 kubectlrolling-update 相比,部署 API 更加清晰快速,在服务端实现,有更多的功能(例如即使滚动更新已经完成,你还是可以回滚到之前的版本)。

Kubernetes 1.2 中利用 Ingress 简化复杂网络

在 Kubernetes 中,服务和 Pod 的 IP 地址缺省只能被集群网络路由。所有边缘路由器传来的流量要么被丢弃,要么被转向。在 Kubernetes 中,我们队 Ingress 对象做了改进,用于简化传入连接进入集群服务的过程。对其进行配置,能够给服务外部可达的 URL,负载均衡,Terminate SSL,提供具名虚拟主机等大量功能。

页面