近几年,微服务(Microservices)概念火热,在各类技术沙龙、会议上不断被提及。及至当下,很多大厂小司已经有了成功实施案例,也有些正在艰难的摸索过程,或是保持观望。
微服务是一种比较“年轻”的架构理念,而在它之前,有类似江湖地位的是SOA(Service Oriented Architecture-面向服务的架构)这位大佬。
相信很多小伙伴我一样,在刚接触到微服务概念的时候会不自觉的想到SOA,进而产生一些困惑:它们分别描述的是啥?是不是一种理念的不同表述?如果不同,架构思想是扩大或是聚焦还是存在借鉴重叠,简单来说是有超集或交集的关系?
本文将作者的理解与大家分享探讨,尝试对“SOA”和“微服务”的概念做更清晰的解读。
K8S互动教程4-使用服务发布您的应用程序
本文是《浅入浅出k8s实战-k8s初体验篇的第五篇 》
此文为提取大纲,按照互动教程进行分享教学用。另补充一些知识点,和关联操作。
原文:
- 中:https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/expose-intro/
- 英:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
- 互动:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-interactive/
课程说明
目标
- 了解 Kubernetes Service(服务)
- 了解 labels 和 LabelSelector 对象如何与 Service 关联
- 通过 Service 将应用暴露到集群外部
Kubernetes Pod 的生命周期
原文:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
Pod phase
Pod 的 status
字段是一个 PodStatus 对象,这个对象有个 phase
字段。
Pod的阶段(phase)是对Pod在其生命周期中所处位置的简单的宏观的概述。这个阶段(phase)字段不是为了全面归纳容器或 Pod的状态,也不打算成为全面的状态机。
Pod 阶段的数量和含义是严格指定的。除了本文档列举的内容外,不应该再假设Pod会有其他的 phase
值。
下面是所有 phase
的可能值:
K8S互动教程3-查看 Pod 和 Nodes
本文是《浅入浅出k8s实战-k8s初体验篇的第四篇 》
此文为提取大纲,按照互动教程进行分享教学用。另补充一些知识点,和关联操作。
原文:
- 中:https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/explore-intro/
- 英:https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/
- 互动:https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-interactive/
课程说明
目标
- 了解 Kubernetes Pods
- 了解 Kubernetes Nodes
- 已部署应用的故障排查
Kubectl 命令参考
Kubectl 是和 kubernetes 集群交互的命令行工具。 kubectl
会使用 $HOME/.kube/config
文件作为默认配置(也就是 kubeconfig)。我们可以通过设置环境变量 KUBECONFIG
或命令行选项 --kubeconfig
来指定 kubeconfig。
本文概述kubectl语法,介绍命令操作,并提供常见的示例。有关每个命令的详细信息,包括所有支持的 falgs 和子命令,请参阅kubectl参考文档 。有关安装说明,请参阅安装kubectl。
K8S互动教程2-部署一个应用
本文是《浅入浅出k8s实战-k8s初体验篇的第三篇 》
此文为提取大纲,按照互动教程进行分享教学用。另补充一些知识点,和关联操作。
原文:
- 中:https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/deploy-intro/
- 英:https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/
- 互动:https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
课程说明
目标
- 了解应用 Deployments
- 使用 kubectl 在 Kubernetes 上部署您的第一个应用程序
- 熟悉常用的 kubectl 命令
Spinnaker 部署 CRD 资源
我使用的 Spinnaker 版本(1.12.10 Unbreakable)中部署 IngressRoute
类型资源的时候遇到错误,通过查找相关资料测试,发现 CRD 需要额外的配置。其他的版本可能也存在同样的情况,此文记录相关信息及如何解决。
rancher、spinnaker对helm chart的相对路径解析问题
目前(2019年5月21日) rancher 和 spinnaker 最新版本对 helm chart 仓库中的包相对路径解析存在一点问题。
rancher 会报:
1 | Helm template failed. Error: stat template-dir: no such file or directory : exit status 1 |
spinnaker 则无法正确解析 artifact:
1 | com.netflix.spinnaker.clouddriver.artifacts.helm.HelmArtifactCredentials$FailedDownloadException: Unable to download the contents of artifact |
我们来看看怎么解决~
Helm 介绍和安装
Helm 是由 Deis 发起的一个开源工具,有助于简化部署和管理 Kubernetes 应用。本文介绍了 helm 的基本概念和安装方法,针对国内网络情况提供阿里的 helm charts 仓库。