Kops - AWS 上的供应和配置

Kops - Provisioning & Configuration on AWS

为 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 配置 集群存储, apiserver, controller, scheduler 安装在 master

4) kops在每个节点上配置kubelet, container engine & kube-proxy .


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

问题

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

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

1) kops performs provisioning of AWS services(resources) for a two node cluster. VPC, subnets, auto-scaling, EC2(hosting master & nodes) etc...

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

2) kops creates the configuration file of this provisioning & stores it in KV cluster store of master

除非最近更改了此行为,否则配置设置存储在您创建的用于存储配置的存储桶中。参见 these docs

3) kops configure cluster store, apiserver, controller, scheduler installations in master

4) kops configures kubelet, container engine & kube-proxy on each node.

如上,除非最近发生变化,否则 kops 不会在 master 上安装集群存储。它确实在主节点上配置 apiserver 和调度程序安装。您可以在 these docs

中查看更多安装在 master 和 worker 上的内容,以及它们是如何安装的

根据这些文档,看起来大师们有以下内容:

  • kube-apiserver
  • kube-controller-manager(其中 运行s 其他控制器)
  • kube-scheduler(将 pods 分配给节点)
  • etcd
  • dns 控制器

关于工人:

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

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

kubectl is a client for apiserver, that talks to API server and performs tasks to create PODS, get information about cluster etc..

是的。

1) How does kops remember the state of provisioning & cluster configuration, if I need to later upgrade & configure the cluster? state maintenance...

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

2) How to view the current cluster provisioning & configuration, done by kops? as a configuration file..

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

kops get cluster1.subdomain.domain-aws.com

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