标签: kops

如何将用户添加到Kubernetes(kubectl)?

我在AWS上使用kops创建了一个Kubernetes集群,并且可以通过kubectl本地计算机成功管理它.

我可以查看当前配置kubectl config view以及直接访问存储状态~/.kube/config,例如:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://api.{CLUSTER_NAME}
  name: {CLUSTER_NAME}
contexts:
- context:
    cluster: {CLUSTER_NAME}
    user: {CLUSTER_NAME}
  name: {CLUSTER_NAME}
current-context: {CLUSTER_NAME}
kind: Config
preferences: {}
users:
- name: {CLUSTER_NAME}
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
    password: REDACTED
    username: admin
- name: {CLUSTER_NAME}-basic-auth
  user:
    password: REDACTED
    username: admin
Run Code Online (Sandbox Code Playgroud)

我需要让其他用户也能管理.本用户指南介绍了如何在其他用户计算机上定义这些用户指南,但未描述如何在群集本身内实际创建用户凭据.你怎么做到这一点?

另外,分享是否安全cluster.certificate-authority-data

kubernetes kubectl kops

62
推荐指数
1
解决办法
5万
查看次数

如何从kops创建的集群中获取证书颁发机构证书/密钥?

我使用kops工具在AWS上创建了一个Kubernetes集群.我需要获取其证书颁发机构证书和密钥,但如何通过kops导出这些文件?

我已经尝试了以下内容,但它没有说秘密不支持yaml输出格式:

kops --state s3://example.com get secret ca -o yaml
Run Code Online (Sandbox Code Playgroud)

我也想知道如何指定要解决的集群,因为kops只使用默认的kubectl上下文.我正在使用kops版本1.6.2.

ssl certificate-authority ssl-certificate kubernetes kops

22
推荐指数
1
解决办法
5464
查看次数

AWS KOPS超过EKS,反之亦然

我遇到了AWS提供的KOPS以及他们的其他Kubernetes服务EKS.这两种产品都允许安装Kubernetes集群.但是,我想知道为什么人们会选择EKS超过KOPS,反之亦然,如果之前没有运行任何一个.

这个问题并没有问哪个更好,而是要求进行比较.

amazon-web-services kubernetes kops amazon-eks

18
推荐指数
2
解决办法
5031
查看次数

使用Kops的AWS上的Kubernetes群集 - NodePort服务不可用

我在Kubernetes集群上访问NodePort服务时遇到困难.

目标

设置ALB Ingress控制器,以便我可以使用websockets和http/2

根据该控制器的要求设置NodePort服务

采取的步骤

以前在AWS eu-west-1上创建了Kops(版本1.6.2)集群.添加了nginx入口的kops插件以及Kube-lego.ELB入口工作正常.

使用该项目指定的IAM配置文件,使用自定义AWS密钥设置ALB Ingress Controller.

使用kubectl replace --force将服务类型从LoadBalancer更改为NodePort

> kubectl describe svc my-nodeport-service
Name:                   my-node-port-service
Namespace:              default
Labels:                 <none>
Selector:               service=my-selector
Type:                   NodePort
IP:                     100.71.211.249
Port:                   <unset> 80/TCP
NodePort:               <unset> 30176/TCP
Endpoints:              100.96.2.11:3000
Session Affinity:       None
Events:                 <none>

> kubectl describe pods my-nodeport-pod
Name:           my-nodeport-pod
Node:           <ip>.eu-west-1.compute.internal/<ip>
Labels:         service=my-selector
Status:         Running
IP:             100.96.2.11
Containers:
  update-center:
    Port:               3000/TCP
    Ready:              True
    Restart Count:      0

(ssh into node)
$ sudo netstat -nap | grep 30176
tcp6       0 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services kubernetes kops

12
推荐指数
1
解决办法
4000
查看次数

kops/kubectl - 如何导入在另一台服务器上创建的状态?

我使用kops设置我的kubernetes集群,我是从本地机器上完成的.所以我的.kube目录存储在我的本地机器上,但我设置kops了状态存储s3.

我现在正在设置我的CI服务器,我想kubectl从该框中运行我的命令.如何将现有状态导入该服务器?

kubernetes kubectl kops

10
推荐指数
1
解决办法
4850
查看次数

Kube-proxy或ELB"延迟"HTTP请求的数据包

我们在AWS上的Kubernetes(1.9.3)上运行了一个Web API应用程序(使用KOPS设置).该应用程序是一个部署,由服务(类型:LoadBalancer)表示,该服务实际上是AWS上的ELB(v1).这通常有效 - 除了一些数据包(HTTP请求的片段)在客户端< - > app容器之间的某处"延迟".(在终止于ELB的HTTP和HTTPS中).

从节点方面:

(注意:服务器端的几乎所有数据包都会重复3次)

我们使用keep-alive,因此tcp套接字是打开的,请求到达并返回相当快.然后问题发生了:

  • 首先,只有头部的数据包到达[PSH,ACK](我在tcpdump中查看有效负载中的头部).
  • 一个[ACK]由容器发回.
  • tcp套接字/流安静很长时间(最多30秒甚至更多 - 但是间隔不一致,我们认为> 1s是一个问题).
  • 另一个带有HTTP数据的[PSH,ACK]到达,最终可以在应用程序中处理该请求.

从客户端:

我从我的计算机上运行一些流量,在客户端记录它以查看问题的另一端,但不是100%确定它代表真正的客户端.

  • 一个[PSH,ASK]标题出来了.
  • 带有部分有效负载的几个[ACK]开始出去.
  • 没有响应到达几秒钟(或更长时间),没有更多的数据包熄灭.
  • 标记为[TCP窗口更新]的[ACK]到达.
  • 再次短暂停顿,[ACK]开始到达,会话一直持续到有效载荷结束.

这只发生在负载下.

根据我的理解,这是介于ELB和Kube-Proxy之间的某个地方,但我很无能为力,急需帮助.

这是Kube-Proxy运行的参数:

Commands: /bin/sh -c mkfifo /tmp/pipe; (tee -a /var/log/kube-proxy.log < /tmp/pipe & ) ; exec /usr/local/bin/kube-proxy --cluster-cidr=100.96.0.0/11 --conntrack-max-per-core=131072 --hostname-override=ip-10-176-111-91.ec2.internal --kubeconfig=/var/lib/kube-proxy/kubeconfig --master=https://api.internal.prd.k8s.local --oom-score-adj=-998 --resource-container="" --v=2 > /tmp/pipe 2>&1

我们使用Calico作为CNI:

到目前为止,我已经尝试过:

  • 使用service.beta.kubernetes.io/aws-load-balancer-type: "nlb"- 问题仍然存在.
  • (玩弄ELB设置希望有什么东西可以做到这一点¯_(ツ)_ /¯)
  • 在Kube-Proxy中查找错误,发现以下情况很少见:

E0801 04:10:57.269475 1 reflector.go:205] k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go:85:无法列出*core.Endpoints:获取https:// api. internal.prd.k8s.local/api/v1/endpoints?limit = 500&resourceVersion = 0 …

amazon-elb kubernetes project-calico kops kube-proxy

10
推荐指数
0
解决办法
309
查看次数

aws s3api create-bucket -bucket make exception

我尝试使用创建s3桶

aws s3api create-bucket —bucket kubernetes-aws-wthamira-io

它会犯这个错误

调用CreateBucket操作时发生错误(IllegalLocationConstraintException):未指定的位置约束与此请求发送到的区域特定端点不兼容.

我使用aws configure区域设置并将区域设置为eu-west-1

An error occurred (IllegalLocationConstraintException) when calling
the CreateBucket operation: The unspecified location constraint is
incompatible for the region specific endpoint this request was sent
to.
Run Code Online (Sandbox Code Playgroud)

但是犯同样的错误.我怎么解决这个问题.

我使用osx终端连接aws

amazon-s3 amazon-web-services kubernetes kops

9
推荐指数
3
解决办法
4529
查看次数

如何将节点添加到我的kops集群?(此处的节点是我的外部实例)

我在AWS上创建了一个kubernetes集群,如下面的说明所示.我所有的Ubuntu OS类型的主节点和工作节点.

https://jee-appy.blogspot.in/2017/10/setup-kubernetes-cluster-kops-aws.html

我知道如何使用集群更新来增加或减少集群中的节点数量,kubernetes为我们提供了一个新节点,

但是我想知道,是否有可能将我的外部aws实例(例如:具有相同操作系统的实例,如ubuntu)连接到我现有的kops集群?

cloud amazon-web-services kubernetes kops

9
推荐指数
1
解决办法
6219
查看次数

kOps 1.19 在与 AWS 集群交互时报告错误“未授权”

我正在按照 kOps 教程在 AWS 上设置集群。我能够创建一个集群

kops create cluster
kops update cluster --yes
Run Code Online (Sandbox Code Playgroud)

但是,在验证我的集群是否正确设置时

kops validate cluster
Run Code Online (Sandbox Code Playgroud)

我陷入了错误:

unexpected error during validation: error listing nodes: Unauthorized
Run Code Online (Sandbox Code Playgroud)

在许多其他 kOps 操作中也会发生同样的错误。

我检查了我的 kOps/K8s 版本,它是 1.19:

> kops version
Version 1.19.1 (git-8589b4d157a9cb05c54e320c77b0724c4dd094b2)

> kubectl version
Client Version: version.Info{Major:"1", Minor:"20" ...
Server Version: version.Info{Major:"1", Minor:"19" ...
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

amazon-ec2 nlb amazon-web-services kubernetes kops

8
推荐指数
1
解决办法
1678
查看次数

无法使用 Kops 验证 Kubernetes 集群

我是 Kubernetes 的新手。我正在使用 Kops 在 AWS 上部署我的 Kubernetes 应用程序。我已经在 AWS 上注册了我的域,还创建了一个托管区域并将其附加到我的默认 VPC。

通过 kops 创建我的 Kubernetes 集群成功。但是,当我尝试使用 验证我的集群时kops validate cluster,它失败并显示以下错误:

无法解析 Kubernetes 集群 API URL dns:在 149.142.35.46:53 上查找 api.ucla.dt-api-k8s.com:没有这样的主机

我试过调试这个错误但失败了。你能帮我一下吗?我现在非常沮丧。

amazon-web-services kubernetes kops

7
推荐指数
1
解决办法
5062
查看次数