AWS 云提供商上的 Kubernetes

问题描述 投票:0回答:3

我在 AWS 上安装了 CentOS Atomic Host 作为 kubernetes 操作系统。

一切正常,但似乎我错过了一些东西。

我没有配置云提供商,也找不到任何相关文档。

这个问题我想知道: 1.云提供商为kubernetes提供了哪些功能? 2. 如何配置AWS云提供商?

UPD 1:外部负载均衡器不起作用;我还没有测试过

awsElasticBlockStore
,但我也怀疑它不起作用。

更新2: 服务详情:

$ kubectl get svc nginx-service-aws-lb -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2016-01-02T09:51:40Z
  name: nginx-service-aws-lb
  namespace: default
  resourceVersion: "74153"
  selfLink: /api/v1/namespaces/default/services/nginx-service-aws-lb
  uid: 6c28b718-b136-11e5-9bda-06c2feb29b0d
spec:
  clusterIP: 10.254.172.185
  ports:
  - name: http-proxy-protocol
    nodePort: 31385
    port: 8080
    protocol: TCP
    targetPort: 8080
  - name: https-proxy-protocol
    nodePort: 31370
    port: 8443
    protocol: TCP
    targetPort: 8443
  selector:
    app: nginx
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}
amazon-ec2 kubernetes amazon-elb amazon-ebs
3个回答
9
投票

我无法与 ProjectAtomic 位交谈,也无法与

KUBERNETES_PROVIDER
env-var 交谈,因为我的经验是使用 CoreOS 配置程序。我将谈论我的经验,看看这是否可以帮助您更深入地了解您的设置。

最重要的是,控制器 EC2 和工作线程 EC2 机器必须具有正确的 IAM 角色,这将使机器能够代表您的账户进行 AWS 调用。这包括配置 ELB 和使用 EBS 卷(或者在工作线程的情况下将 EBS 卷附加到自身)等。如果没有它,您的云配置体验将毫无意义。我很确定 IAM 有效负载是在那些难以阅读的

.go
文件之外的其他地方定义的,但这是我方便显示所需内容的最快链接。

幸运的是,这个问题的答案,以及我要讨论的问题,都以

apiserver
controller-manager
为中心。它们的配置和输出的日志。

apiservercontroller-manager 都有一个指向磁盘上云配置文件的参数,遗憾的是,除了 之外,该文件没有在任何地方记录。根据我的经验,该

Zone
字段是可选的(就像他们在评论中所说的那样)。然而,看到
KubernetesClusterTag
促使我在代码中跟踪该字段,看看它的作用。

如果您的经历与我类似,您将在

controller-manager
的 docker 日志中看到一堆有关如何创建 ELB 但无法找到任何子网来附加到它的错误消息; (当然,“docker 日志”位是假设 ProjectAtomic 也使用 docker 来运行 Kubernetes 守护进程)。

一旦我附加了一个名为

Tag
KubernetesCluster
并将
Tag
的每个实例设置为同一字符串(据我所知,它可以是任何内容),那么
aws_loadbalancer
就能够在 VPC 中找到子网,并且它将节点附加到 ELB 上,一切都很酷——除了关于它的部分现在只能创建面向互联网的 ELB。 :-(

为了清楚起见:

aws.cfg
包含一个名为
KubernetesClusterTag
的字段,允许您重新定义 Kubernetes 将查找的
Tag
;如果该文件中没有任何值,Kuberenetes 将使用
Tag
名称
KubernetesCluster

我希望这对你有帮助,也希望对其他人有帮助,因为一旦 Kubernetes 启动,那绝对是令人惊奇的。


2
投票
  1. 云提供商为 kubernetes 提供了哪些功能?

我知道的一些功能:外部负载均衡器持久卷

  1. 如何配置AWS云提供商?

有一个名为

KUBERNETES_PROVIDER
的环境变量,但似乎环境变量仅在人们启动 k8s 集群时才重要。既然你说“一切正常”,我猜你不需要任何进一步的配置来使用我上面提到的功能。


0
投票

负载均衡集成。
  1. 卷配置
  2. 节点自动缩放
  3. 节点管理
  4. 监控和记录
  5. 网络
  6. 安全
© www.soinside.com 2019 - 2024. All rights reserved.