【问题标题】:Create nodes using the kubernetes API使用 Kubernetes API 创建节点
【发布时间】:2015-10-07 08:22:56
【问题描述】:

我注意到有一个 api 可用于使用 yaml/json 生成节点。

到目前为止,我的尝试都失败了,因为我得到了:2015/07/17 16:07:54 http: proxy error: dial tcp xxx.xxx.xx.xxx:443: connection refused

请注意,我使用 kubectl 代理访问 API:kubectl proxy --port=8080 &

我已经设法使用 API 创建了复制控制器和服务,但我被困在这部分。为了绕过 API,我修改了 kubernetes/cluster/gce 中的 config-default.sh 文件,并尝试使用 php 运行它。我收到以下回复:Can't find gcloud in PATH. Do you wish to install the Google Cloud SDK? [Y/n]。当我从终端运行 cluster/kube-up 时,我没有收到此错误。

有做过这件事的人可以帮忙吗?

更新/编辑

玩了一会儿,并使用this链接,我设法在短时间内创建了一个节点,然后将其删除(或消失)。

原来我只是为一个节点创建了(抽象的?)概念/服务,Kubernetes Controller Manager Server 在没有找到分配给它的资源后将其删除?

然后我通过 lavalamp 找到了这个 link,引用:

@abonas 我认为最终 k8s 将需要双向运行:场景 a:用户提供节点,调用 POST 以通知 k8s 节点存在。 场景b:用户调用POST表示对节点的渴望;节点管理器 联系云提供商以分配和配置新节点。现在 我们只做一个。

虽然这篇文章是在今年 1 月发布的,所以任何人都可以正式发表评论,如果这是可能的还是没有使用任何可用的工具?

【问题讨论】:

  • xxx.xxx.xxx.xxx是kubernetes master的ip吗? kubectl get services 中可见的服务地址?还有什么?
  • @larsks - 由于某种原因无法在星期五之后复制,但上面的更新应该否定解决该问题的必要性:)

标签: nodes kubernetes


【解决方案1】:

您指的是哪个 API?节点有一个 API 可以将自己注册到集群中,但 apiserver 本身实际上不会为您启动任何新节点。

如果您在 GCE / GKE 上运行,您可以通过调整包含您的节点的托管实例组的大小来将新节点添加到您的集群中。

【讨论】:

  • 抱歉,我指的是 RESTful API。我指的是使用此处列出的示例:kubernetes.io/third_party/swagger-ui/#!/v1/createNode。有没有办法根据需要调整集群的大小?我希望能够为此使用 RESTful API 来根据需要添加或删除额外的节点。
  • 该 API 用于在主节点的数据模型中创建一个节点(例如,当一个新节点自己注册时)。主节点(还)没有办法联系云提供商并提供新资源来发展集群。这需要在带外完成,例如在 GCE 上使用 MIG API (cloud.google.com/compute/docs/instance-groups/manager)。
  • 谢谢罗伯特,这有帮助。
【解决方案2】:

我最终决定使用 php 编辑 kubernetes/cluster/gce/config-default.sh 中的值。

我在 kubernetes 根目录中创建了一个脚本,并添加了以下几行:

export PATH="/Users/username/google-cloud-sdk/bin:$PATH"
cluster/kube-up.sh

然后我从 php 运行脚本,嘿,presto :) 从 php 创建集群。

它不使用 RESTful API,但它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多