问题标签 [kubectl]
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.
docker - 使用 config 而不是 API 创建 Kubernetes 命名空间
根据此处的文档创建新命名空间的唯一方法是发出 API 请求
有没有办法使用 config 或 cloud-config 来做同样的事情?
docker - kubectl:与服务器的连接被拒绝
当我运行kubectl run
... 或任何命令时,我收到一条错误消息
这个错误究竟是什么以及如何解决它?
kubernetes - 更新 kubernetes 机密不会更新正在运行的容器环境变量
目前在更新 kubernetes 机密文件时,为了应用更改,我需要运行kubectl apply -f my-secrets.yaml
. 如果有一个正在运行的容器,它仍然会使用旧的秘密。为了在正在运行的容器上应用新的秘密,我目前运行命令kubectl replace -f my-pod.yaml
。我想知道这是否是更新正在运行的容器机密的最佳方法,还是我遗漏了什么。
谢谢。
docker - 尝试在 kubernetes 的生命周期标签下使用命令时出错
我成功运行了 kubernetes、gcloud 和 postgres,但我想在 pod 启动后进行一些修改,我试图移动一些文件,所以我尝试了这 3 个选项
1
2
3
在选项 1 和 2 上,我得到相同的错误(来自 kubectl get events)
在选项 3 上,它甚至不会让我上传 yaml 文件给我这个错误
任何帮助,将不胜感激!谢谢。pd:我刚刚粘贴了我的 yaml 文件的一部分,因为我添加了这些新行后没有收到任何错误
nginx - 无法将 NGINX 替换为 NGINX Plus 作为 Google Cloud 上使用 Kubernetes 的微服务的反向代理
我正在关注如何使用 Kubernetes 在 Google Cloud 上创建具有微服务的可扩展 API 的精彩教程。
我创建了 4 个微服务并公开了我正在使用 NGINX Plus 的服务。
注意: 这里 NGINX Plus / NGINX 的目的是作为反向代理。
下面是目录结构:
-nginx
--Dockerfile
--deployment.yaml
--index.html
--nginx-repo.crt
--nginx-repo.key
--nginx.conf
--svc.yaml
可以在此处查看文件的详细信息。我在这里粘贴 Docker 文件和 nginx.conf:
Dockerfile(NGINX Plus 原创):
nginx.conf(NGINX Plus 原创):
NGINX Plus 似乎一切正常,我可以使用 url 访问所有 4 个微服务,例如。http://xyzw/service[1|2|3|4]/?str=testnginx,其中http://xyzw是我的外部 IP,NGINX 负责内部路由请求。现在我愿意在没有 NGINX Plus 的情况下只使用 NGINX 来做同样的工作。
以下是 NGINX 的更新文件:
Dockerfile(为 NGINX 更新):
nginx.conf(为 NGINX 更新):
基本上,我已经删除了解析和服务器语句,它们是 NGINX Plus 的功能并且能够创建 docker 映像,将其上传到谷歌容器并创建我的部署和服务,但得到404 not found。
我在这里遗漏了什么还是这是 NGINX 的限制?
如果有人对在 Google Cloud 上使用 NGINX、Docker 和 Kubernetes 有任何建议或先前的经验,请提出建议。
kubernetes - 使用 kubectl 查找有关 Kubernetes master(s) 详细信息的命令是什么?
假设我想找到我的 k8s master(s) 的 kubelet 和 apiserver 版本,最好的方法是什么?
我知道以下命令:
仅显示端点。
它显示了非常详细的信息,但只有节点而不是主节点。
还有
但这仅显示 kubectl 版本,而不是 kubelet 或 apiserver 版本。
我可以使用哪些其他命令来识别集群的属性?
kubernetes - 在 Kubernetes 1.3 Ingress 中使用通配符和非通配符 TLS 证书
我的 Kubernetes 配置中的所有内容都适用于单个 TLS 证书。我将证书定义为 aSecret
并在我的对象配置中按名称引用它,Ingress
并且我的 HTTPS 流量与证书一起提供。
当我也尝试使用我的其他证书时,我的问题就出现了。我的证书之一www.DomainA.com
是 CN 和DomainA.com,DomainB.com,DomainC.com
SAN。我的另一个证书是*.DomainA.com
.
当我将两个证书都添加到我的 Kubenetes 配置中时(有或没有hosts
为其中一个/两个定义的字段),只有第一个指定的证书被添加到接口中并提供给任何流量。
奇怪的是,当我运行 a 时,kubectl describe ingress my-ingress
我看到:
所以我知道这两个证书都是由 Kubernetes 提取的,它似乎没有在 GCP 中使用(或存储)。
如何使用这两个证书?
docker - Kubectl:带有 minikube 的 Kubernetes 超时
我已经安装了 minikube 并启动了它内置的 Kubernertes 集群
我也安装了 kubectl
但我无法成功使用 kubectl 与正在运行的 Kubernetes 集群对话
编辑
amazon-web-services - kubernetes + coreos 集群 - 替换证书
我有一个 coreos kubernetes 集群,我从这篇文章开始:
TLDR;
一切正常,我在 AWS 上有一个 kubernetes coreos 集群。在文章中有一个警告说:
生产注意事项:不应使用 kube-aws 生成的 TLS 密钥和证书来部署生产 Kubernetes 集群。每个组件证书的有效期仅为 90 天,而 CA 的有效期为 365 天。如果部署生产 Kubernetes 集群,请考虑先独立于该工具建立 PKI。
所以我想替换默认证书,所以我按照以下文章:
TLDR;
- 创建了以下自签名证书:ca.pem、ca-key.pem
- 为控制器创建了证书:apiserver.pem、apiserver-key.pem
- 将控制器中的证书替换为上面创建的证书,然后重新启动控制器
- 创建了工作人员证书并替换了工作人员中的证书并重新启动了它们
- 配置 kubectl 以使用我创建的新证书并配置上下文和用户
我在 kubectl 和集群之间遇到通信错误,抱怨证书
无法连接到服务器:x509:证书由未知机构签名
我还尝试使用指向集群 DNS 的 kubectl 签名证书,我为集群设置了 DNS。
如何让 kubectl 与我的集群通信?
提前致谢
编辑:
我的~/.kube/config看起来像这样:
编辑:
我所有的证书都由 ca2.pem 签名,我还通过运行验证了这一事实:
编辑:
我认为错误的原因是:当我在控制器和工作人员中切换键时,似乎 cloud-config 正在用旧键覆盖我的新键。如何更换密钥并更改 cloud-config 以适应我的更改?
kubernetes - Kubernetes/Container Engine:TLS 握手超时
大约 7 小时前,我正在使用 kubectl 没有问题。现在(经过几个小时的睡眠,并重新启动我的计算机)所有 kubectl get 命令都给我这个错误:
除了关闭我的计算机之外,我没有做任何事情,因为它起作用了。
由于我是 Kubernetes 和 GCE 的新手,我需要一些关于这可能是什么以及在哪里寻找的提示。