Kubernetes

Kubernetes(缩写为k8s)是最流行的开源容器管理平台, 现在也是事实上的容器编排调度标准.

打算写系列的相关文章,记录自己的学习过程.

一些其他笔记.

最佳实践

  • 不要设置比必要的默认值
  • 不要使用裸Pod, 使用Deployment,ReplicaSet,Job
  • 使用前提前创建Service, 使用域名
  • 善用label
  • 容器镜像不要使用:latest标签 (默认的imagePullPolicy是IfNotPresent,即本地不存在镜像时才pull)
  • 灵活使用目录, kubectl apply/create -f
  • 快速创建单容器的部署/服务: kubectl run/expose

缩写

缩写 描述
CRD Custom Resource Definition, k8s 1.7引入

运行应用

Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController 来方便的管理应用。

在新版本的Kubernetes中建议使用ReplicaSet来取代ReplicationController。

将kubectl的 –record 的 flag 设置为 true可以在 annotation 中记录当前命令创建或者升级了该资源。

# 检查 Deployment 升级的历史记录
kubectl rollout history deployment/nginx-deployment
# 单个变更的详情
kubectl rollout history deployment/nginx-deployment --revision=2

集群资源管理

Label

  • “release” : “stable”, “release” : “canary”
  • “environment” : “dev”, “environment” : “qa”, “environment” : “production”
  • “tier” : “frontend”, “tier” : “backend”, “tier” : “cache”

扩展阅读

注: 官方文档是学习的开始,博客文章通常有时效性,而Kubernetes的版本更新很快.