使用Rancher在Kubernetes上进行微服务部署

大多数人在生产环境中运行Docker,是把它作为构建和移动部署配置的一种方式。然而,他们的部署模型要么非常整体化,要么有几个大的服务模块组成。使用真实的容器化微服务最大的障碍在于,很多人不太清楚如何管理和协调容器大规模负载。今天我们将探讨如何基于微服务部署来构建Kubernetes。作为google 长期经营的Borg项目的开源的继承者,Kubernetes有将近10年的运行大规模负载的历史了。虽然也存在一些缺点,但Kubernetes是现今最成熟的容器编排系统之一。

启动Kubernetes环境

在Kubernetes官方文档中可以找到如何在不同环境下创建Kubernetes集群,本文中我主要讲解使用Rancher容器管理平台来部署Kubernetes。首先设置Rancher server,选择环境/默认>环境管理>添加环境。从容器编排选项中选择并创建环境。然后选择基础设施(Infrastructure)>主机(Hosts) >添加主机(Add Host),且为Kubernetes创立几个节点以便运行。

注意:为了运行Rancher 代理容器,我们建议至少添加3台主机。当主机创建成功,你将会看到以下屏幕内容,几分钟内集群创建成功并准备就绪。

使用Rancher来运行Kubernetes有很多优势。大多数情况下能使用户和IT团队部署和管理工作更加方便。Rancher自动在Kubernetes后端实现etcd 的HA,并且将所需要的服务部署到此环境下的任何主机中。在设置访问控制,可以轻易连接到现有的LDAP和AD基础构架。Rancher还可以自动实现容器联网以及为Kubernetes提供负载均衡服务。通过使用Rancher,你将会在几分钟内有拥有Kubernetes的HA实现。

20160906201212

命名空间

现在我们的集群已经运行了,让我们进入并查看一些基本的Kubernetes资源吧。你可以访问Kubernetes集群也可以直接通过kubectl CLI访问,或者通过Rancher UI 访问。Rancher的访问管理图层控制可以访问集群,所以你需要在访问CLI前从Rancher UI那里生成API密匙。

我们来看下第一个Kubernetes资源命名空间,在给定的命名空间中,所有资源名称必须有唯一性。此外,标签是用来连接划定到单个命名空间的资源。这就是为什么同一个Kubernetes集群上可以用命名空间来隔离环境。例如,你想为应用程序创建Alpha, Beta和生产环境,以便可以测试最新的更改且不会影响到真正的用户。最后创建命名空间,复制下面的文本到namespace.yaml文件,并且运行kubectl -f namespace.yaml命令,来创建一个beta命名空间。

kind: Namespace
apiVersion: v1
metadata:
  name: beta
  labels:
    name: beta

当然你还可以使用顶部的命名空间菜单栏从Rancher UI上创建、查看和选择命名空间。

20160906201230

你可以使用下面的命令,用kubectl来为CLI交互设置命名空间:

$ kubectl config set-context Kubernetes --namespace=beta.

为了验证目前context是否已经被设置好,你可以使用config view命令,验证一下输出的命名空间是否满足你的期望。

$ kubectl config view | grep namespace command
namespace: beta

Pods

现在我们已经定义好了命名空间,接下来开始创建资源。首先我们要看的资源是Pod。一组一个或者多个容器的Kubernetes称为pod,容器在pod 里按组来部署、启动、停止、和复制。在给定的每个主机种类里,只能有一个Pod,所有pod里的容器只能在同一个主机上运行,pods可以共享网络命名空间,通过本地主机域来连接。Pods也是基本的扩展单元,不能跨越主机,因此理想状况是使它们尽可能接近单个工作负载。这将消除pod在扩展或缩小时产生的副作用,以及确保我们创建pods不太耗资源而影响到主机。

我们来给名为mywebservice的pod定义,在规范命名web-1-10中它有一个容器并使用nginx容器镜像,然后把端口为80下的文本添加至pod.yaml文档中。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值