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的版本更新很快.