容错(Fault Tolerance)模式下的NATS Streaming 集群

准备工作

首先,我们需要一个提供 ReadWriteMany文件系统的的 Kubernetes 集群。在这个简短的教程中,我们将使用 AWS 创建一个集群,并且使用 EFS 作为文件系统。

# Create 3 nodes Kubernetes cluster
eksctl create cluster --name stan-k8s \
  --nodes 3 \
  --node-type=t3.large \ # t3.small
  --region=us-east-2

# Get the credentials for your cluster
eksctl utils write-kubeconfig --name stan-k8s --region us-east-2

为了保证容错模式正常工作,我们需要创建一个可以被多个 Pod 共享的 EFS 卷。在 AWS 控制台 创建一个 EFS 卷,并且确保它在 k8s 节点能够访问的安全组。如果是通过 eksctl 创建的集群,这将是一个名为ClusterSharedNodeSecurityGroup的安全组:

截图于 2019-12-04 at 11 25 08 AM
截图于 2019-12-04 at 12 40 13 PM

创建 EFS provisioner

我们将使用集群的 FilesystemID 和 DNS name 在 K8s 集群中创建EFS provisioner controller:

截图于 2019-12-04 at 12 08 35 PM

执行结果:

初始化 NATS Streaming 集群

使用容错模式创建内嵌NATS 的 NATS Streaming 集群,并挂载 EFS 卷。

你的集群将包含以下 pods:

如果初始化正常,其中某个节点将处于激活状态。

最后更新于

这有帮助吗?