问题标签 [kops]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 如何使用 Kops 或 Kubernetes 创建 AWS Spot 实例?
我目前正在使用 kops 创建 AWS EC2 集群。但它似乎没有指定“现货”实例的选项。
有人知道如何使用 kops 或 kubernetes 创建“spot”类型的实例吗?
kubernetes - 如何覆盖 kops 的默认 kube-dns 附加规范
我们在 AWS 中运行 kops->terraform k8s 集群,由于我们同时运行的 k8s 作业的数量,kube-dns 容器正在 OOMkilled,迫使我们提高内存限制。
至于自动化这一点,它既可以在集群升级中幸存下来,也可以为从同一模板创建的新集群自动完成,我看不出有一种方法可以覆盖罐装 kops 规范。我能看到的唯一选项涉及一些更新(kubectl edit deployment kube-dns
删除 kube-dns 插件部署并使用我们自己的,覆盖上传到 kops 状态存储的规范等),这可能需要在每次使用 kops 后完成更新集群。
我检查了文档,甚至检查了规范源,没有其他选项突出。有没有办法将自定义 kube-dns 部署规范传递给 kops?或者告诉它不要安装 kube-dns 插件?
kubernetes - Kubernetes 1.8.10 kube-apiserver 优先级错误
使用 kops 旋转的新集群 1.8.10。
在 K8S 1.8 中有一个新特性Pod Priority and Preemption
。更多信息:https ://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#how-to-use-priority-and-preemption
kube-apiserver
正在记录错误
I0321 16:27:50.922589 7 wrap.go:42] GET /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations: (140.067µs) 404 [[kube-apiserver/v1.8.10 (linux/amd64) kubernetes/044cd26] 127.0.0.1:47500] I0321 16:27:51.257756 7 wrap.go:42] GET /apis/scheduling.k8s.io/v1alpha1/priorityclasses?resourceVersion=0: (168.391µs) 404 [[kube-apiserver/v1. 8.10 (linux/amd64) kubernetes/044cd26] 127.0.0.1:47500] E0321 16:27:51.258176 7 reflector.go:205] k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go:73 : Failed to list *scheduling.PriorityClass: 服务器找不到请求的资源 (get priorityclasses.scheduling.k8s.io)
我完全不明白为什么。没有人应该访问它,因为它甚至还没有启用(它是 alpha 版)。
没有 pod 正在使用priorityClassName
.
运行说明:
kubectl explain priorityclass error: API version: scheduling.k8s.io/v1alpha1 is not supported by the server。使用以下之一:[apiregistration.k8s.io/v1beta1 extensions/v1beta1 apps/v1beta1 apps/v1beta2 authentication.k8s.io/v1
authentication.k8s.io/v1beta1 authorization.k8s.io/v1 authorization.k8s.io/v1beta1 autoscaling /v1 自动缩放/v2beta1 批处理/v1 批处理/v1beta1 证书.k8s.io/v1beta1 网络.k8s.io/v1 策略/v1beta1 rbac.authorization.k8s.io/v1 rbac.authorization.k8s.io/v1beta1 storage.k8s。 io/v1 storage.k8s.io/v1beta1 apiextensions.k8s.io/v1beta1 v1]
这是正常的还是kops
特殊的?
kubernetes - AWS Kubernetes 集群中的“创建 pod 沙箱失败”pod 错误
问题总结 我们多次观察到我们的集群运行时出现一个或多个节点上的一个或多个 Pod 未启动(Pod 中的容器或容器未启动)的问题。pod 显示“Failed create pod sandbox”错误。在“受影响的”节点上重新启动 docker 或 kubelet 并不能解决问题。此外,终止并重新创建受影响的 EC2 实例并不能解决问题。如果一个 pod(启动失败的和“健康”的)被重新调度到其他节点上,它们将无法启动并出现相同的错误。因此,一旦至少一个 pod 无法启动并出现“Failed create pod sandbox”错误,似乎整个集群就被破坏了。
环境 * Kubernetes 1.9.3 * 使用在 AWS 上运行的 kops (v 1.8) 创建的集群(私有网络拓扑) * 网络:weave-net * 集群:1 个主节点,3 个节点
事件实例时间线
- 我们已经使用 kops 执行滚动集群更新,以使用我们构建的新 AMI 启动节点和主节点(基于 kops ami k8s-1.8-debian-jessie-amd64-hvm-ebs-2017-11-27)。调整 kops AMI 从来都不是问题——我们应用了 Linux 更新和一些与 Kubernetes 无关的小改动。
- 在 Kubernetes 仪表板中注意到其中一个 pod(代理 pod)未能启动并出现以下错误:0/4 个节点可用:1 NodeUnschedulable、1 PodToleratesNodeTaints、3 NoVolumeZoneConflich。创建 pod 沙箱失败。
- 由与上述相同节点上调度的守护程序集(fluentd pod)创建的另一个 pod 有略微不同的错误:网络未准备好:[运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未就绪ready:cni clnfig uninitialized] *根据 Kubernetes,受影响的节点是健康的。查看 kubectl describe 节点,受影响的节点有足够的资源来运行 pod
查看 kubelet 日志,我们观察到 broker pod 的以下内容:
/li>通过在 docker daemon 和 kubelet 重新启动后强制在“受影响的节点”上重新安排另一个 pod(adapter-mqtt-vertx)的问题,产生类似的结果
有谁知道这里的问题是什么以及有什么补救措施?
amazon-s3 - 如何正确复制具有完全相同权限的整个 s3 存储桶
我正在尝试在 aws 上制作 s3 存储桶的副本,这真的很痛苦。
- 我的参考s3 存储桶是:s3://original
- 复制版本。这个桶的:s3://original-copy
我的目标是:
- 使用=> DONE生成kubernetes.tf文件
kops create cluster ...
- kops很友好地创建
--state=s3://original
=>完成 - 现在我想创建一个内容完全相同
s3 bucket
的新名称,只是名称不同=>问题s3://original
s3://original-copy
命令
即使存储桶被复制s3 bucket
,权限似乎也存在一些问题
然后我正在terraform/data
使用新的参考来调整文件夹中的s3://original-copy
值s3://original-copy
s3://original-copy/cluster_name/config
s3://original-copy/cluster_name/cluster.spec
文件。
但是一直存在权限问题。
错误:
s3context.go:145] 无法从区域“us-east-1”获取存储桶位置;扫描所有区域:AccessDenied:拒绝访问
主意
主要思想是kops会生成
kubernetes.tf
文件和data
文件夹与适当的文件(都在 内terraform folder
)只有一次--state=s3://original
桶一次
一旦我们有了一些s3和kuberetes.tf的示例(模式),我们将停止使用kops。
kubernetes - 如何更改已创建集群的节点数
我在 AWS 中创建了一个带有 kops 的集群。
现在一个想在不破坏集群的情况下更改节点数。我怎样才能做到这一点?我试过了 :
但我得到了:错误:未知标志:--node-count
amazon-web-services - 正确设置 AWS k8s 的 kops 权限
我使用 kops 在 AWS 上安装了 Kubernetes。其中一部分是设置 IAM 组和用户:
我的 kubernetes 启动了,但我时不时地遇到奇怪的错误和故障(比如无法将 EC2 EBS 挂载到 pod)。想法是,也许它是一个许可的事情。所以我去 IAM 看看这个:
kops 用户和组从未访问过任何东西!
这是正常的吗?
kubectl - Kubernetes - 如何列出在特定实例组中运行的所有 pod?
如何使用命令行列出在特定实例组的节点中运行的所有 pod?
例如,如果我有实例组“Foo”,假设有三个节点 N1、N2 和 N3,它们依次在 N1 上运行 Pod A 和 B,在 N2 上运行 Pod C、D 和 E,以及在 Pod F在 N3 上运行....如何使用 kops/kubectl 使用输入“Foo”进行查询并输出“A、B、C、D、E、F”?
我知道您可以查询特定节点并列出其中的所有 pod,但我想查询具有许多节点的实例组,并获取所有节点中的所有 pod,没有命名空间限制。
谢谢!
kubernetes - 如何在 kube-apiserver 中设置审计策略?
我一直在阅读有关如何在 kubernetes 中设置审计的信息,它基本上说为了启用审计,我必须在启动 kube-apiserver 时使用 flag 指定一个 yaml 策略文件--audit-policy-file
。
现在,关于如何实现这一点,我有两件事不明白:
- 添加/更新运行 kube-apiserver 的命令的启动参数的正确方法是什么?我无法更新 pod,所以我需要以某种方式克隆 pod 吗?或者我应该
kops edit cluster
按照这里的建议使用:https ://github.com/kubernetes/kops/blob/master/docs/cluster_spec.md#kubeapiserver 。令人惊讶的是,kubernetes 没有为此创建部署,我应该自己创建吗? - 特别是要设置审核,我必须将 yaml 文件作为启动参数传递。如何上传/使此 yaml 文件可用以制作
--audit-policy-file=/some/path/my-audit-file.yaml
. 我是否使用它和/或卷创建 configMap?之后如何引用此文件,以便在运行 kube-apiserver 启动命令时在文件系统中可用?
谢谢!
amazon-web-services - 无法更新 kops 集群 - DNS 查找错误
对“kubernetes.xxxx.xxx”的 NS 记录进行 DNS 查找时出错:lookup kubernetes.xxxxxxxx.xxx on 10.0.2.3:53: read udp 10.0.2.15:56154->10.0.2.3:53: i/o timeout
只有我的 kops 更新集群抛出以下所有其他命令看起来都很好
这是我的 kops 验证集群
从 kubectl 上下文中使用集群:kubernetes.xxxx.xxx
验证集群 kubernetes.xxxxxx.xxxx
实例组名称 角色 MACHINETYPE MIN MAX SUBNETS master-xxx-xxxx-1a Master t2.micro 1 1 xx-xxxxx-1a nodes Node t2.micro 2 2 xx-xxxxxx-1a
节点状态名称角色就绪 ip-xxxx-xx-xx-xxx.xxx-xxxxx-x.compute.internal master True
验证失败 Ready Master(s) 1 out of 1. Ready Node(s) 0 out of 2。
你的节点还没有准备好 kubernetes.xxxxxx.xxx