【问题标题】:Kops - Provisioning & Configuration on AWSKops - AWS 上的预置和配置
【发布时间】:2019-12-03 04:04:32
【问题描述】:

为 kubernetes 设置提供资源和配置的新手。

在 GoDaddy 注册了一个域和子域。

在 EC2 实例中安装了 kops 和 kubectl。

为此集群创建了一个存储桶来存储配置

我在 AWS EC2 实例上运行了以下命令:

kops create cluster --cloud=aws --zones=us-east-1b  \
—dns-zone=subdomain.domain-aws.com  \
—name=cluster1.subdomain.domain-aws.com --yes

我的理解是:

1) kops 为两个节点集群执行 AWS 服务(资源)的配置。 VPC、子网、自动扩展、EC2(托管主节点和节点)等...

2) kops 创建此配置的配置文件并将其存储在 master 的 KV 集群存储中

3) kops 在 master 中配置 cluster storeapiservercontrollerscheduler 安装

4) kops 在每个节点上配置kubelet容器引擎kube-proxy


kubectl 是 apiserver 的客户端,它与 API 服务器对话并执行创建 PODS、获取集群信息等任务。

问题

1) 如果我需要稍后升级和配置集群,kops 如何记住配置和集群配置的状态?状态维护...

2) 如何查看由 kops 完成的当前集群配置和配置?作为配置文件..

【问题讨论】:

    标签: kubernetes kubectl kops


    【解决方案1】:

    1) kops 为两个节点集群执行 AWS 服务(资源)的配置。 VPC、子网、自动扩展、EC2(托管主节点和节点)等...

    这通常是正确的。几点:它不必是一个两节点集群,例如,您可以使用--node-count 指定所需的节点数;此外,它不会直接为您创建任何 EC2 虚拟机,它会创建自动缩放组 (ASG),而这些 ASG 会“负责”创建和维护所需数量的主虚拟机和工作虚拟机。

    2) kops 创建此配置的配置文件并将其存储在 master 的 KV 集群存储中

    除非这种行为最近发生了变化,否则配置设置会存储在您为存储配置而创建的存储桶中。见these docs

    3) kops 在 master 中配置集群存储、apiserver、控制器、调度器安装

    4) kops 在每个节点上配置 kubelet、容器引擎和 kube-proxy。

    如上所述,除非最近更改,否则 kops 不会在主服务器上安装集群存储。它确实在主节点上配置 apiserver 和调度程序安装。您可以在 these docs 中查看更多在 master 和 worker 上安装的内容以及它们的安装方式

    根据这些文档,大师们似乎有以下几点:

    • kube-apiserver
    • kube-controller-manager(运行各种控制器)
    • kube-scheduler(将 pod 分配给节点)
    • etcd
    • dns 控制器

    关于工人:

    • kube-proxy(配置 iptables 以便 k8s-network 工作)
    • kubelet
    • 码头工人

    也许 Docker 可以换成其他容器引擎?

    kubectl 是 apiserver 的客户端,它与 API 服务器对话并执行创建 PODS、获取集群信息等任务。

    是的。

    1) 如果我需要稍后升级和配置集群,kops 如何记住配置和集群配置的状态?状态维护...

    它存储在“状态存储”中,该存储通常是一个 S3 存储桶,就像您所说的用于存储配置的存储桶一样。您可以查看 kops 文档以了解如何执行升级、更改配置、扩展 Kubernetes 集群等操作。您无需直接编辑存储桶中的文件,kops 具有用于大多数这些操作的命令。

    2) 如何查看由 kops 完成的当前集群配置和配置?作为配置文件..

    These docs 有一些信息。例如,您可以运行:

    kops get cluster1.subdomain.domain-aws.com
    

    总的来说,我认为搜索和阅读文档对您回答这些问题以及您在理解和使用 kops 时可能遇到的问题非常有帮助。

    【讨论】:

    • 是的,我创建了KOPS_STATE_STORE。它是否同时具有供应和配置管理数据?这样当你将 2 节点集群升级到 4 节点时,它会记住之前的状态。
    • 你到底是什么意思?不确定您所说的“供应和配置管理数据”究竟是什么意思,但我倾向于用“是”来回答这个问题,但是我倾向于用“否”来回答你的第二个问题。换句话说,当你从 2 个节点升级到 4 个节点时,它不会记住之前的状态。如果您想这样做,您应该备份您的 KOPS_STATE_STORE 存储桶,或者可能利用 S3 原生版本控制功能。不过,记住以前的状态似乎是一个完全不同的问题。
    • 配置数据,如 aws 资源及其创建属性。配置mgmt就像安装kubectl,安装容器引擎
    • 传递给 kops 的所有信息(我将其称为所有配置)都存储在 KOPS_STATE_STORE 中,无论该信息是否用于确定诸如节点数量、AWS区域、EC2 实例类型,或者它们是否用于确定 kube-apiserver、dns-controller、kubelet 等的配置方式。当您更改任何这些值时,KOPS_STATE_STORE 会存储新值,kops 本身不会做任何事情来“记住”以前的值。
    • 通过 api 服务器更新 kops 工具 KOPS_STATE_STORE 后...... master 中的控制器组件是否确保所需状态(KOPS_STATE_STORE)与实际状态相同?
    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2019-03-01
    • 2021-12-27
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2020-02-04
    相关资源
    最近更新 更多