gpt4 book ai didi

kubernetes - Telepresence 失败,说我的命名空间不存在,指出我的 k8s 上下文有问题

转载 作者:行者123 更新时间:2023-12-02 11:33:11 25 4
gpt4 key购买 nike

我一直在使用一堆 k8s 集群,从命令行使用 kubectl 来检查信息。我实际上并没有直接调用 kubectl,而是将它包装在多个脚本层中。我也不使用上下文,因为以不同的方式指定不同的集群对我来说要容易得多。生成的 kubectl 命令行具有明确的 --server、--namespace 和 --token 参数(以及另一个禁用 tls 验证的标志)。

这一切正常。我没有这个问题。

但是,我现在正在尝试使用远程呈现,这并没有让我选择(还)不使用上下文来配置它。所以,我现在必须弄清楚如何使用上下文。

我运行了以下(近似)命令:

kubectl config set-context mycontext --server=https://host:port --namespace=abc-def-ghi --insecure-skip-tls-verify=true  --token=mytoken

它说:“上下文“mycontext”已修改。

然后我运行“kubectl config view -o json”并得到这个:
{
"kind": "Config",
"apiVersion": "v1",
"preferences": {},
"clusters": [],
"users": [],
"contexts": [
{
"name": "mycontext",
"context": {
"cluster": "",
"user": "",
"namespace": "abc-def-ghi"
}
}
],
"current-context": "mycontext"
}

这在我看来不太合适。

然后我运行了这样的东西:
telepresence --verbose --swap-deployment mydeployment --expose 8080 --run java -jar target/my.jar -Xdebug -Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n

它说:
T: Error: Namespace 'abc-def-ghi' does not exist

更新 :

我可以确认这不是远程呈现的问题。如果我只运行“kubectl get pods”,它就会失败,显示“与服务器 localhost:8080 的连接被拒绝”。这告诉我它显然无法连接到 k8s 服务器。关键是我的“设置上下文”命令。它显然不起作用,我不明白我错过了什么。

最佳答案

您的配置中没有定义任何集群或凭据。首先,您需要定义一个集群:

$ kubectl config set-cluster development --server=https://1.2.3.4 --certificate-authority=fake-ca-file
然后对于用户来说是这样的:
$ kubectl config set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile
然后根据集群、用户和命名空间定义上下文:
$ kubectl config set-context dev-frontend --cluster=development --namespace=frontend --user=developer
更多信息 here
你的配置应该是这样的:
$ kubectl config view -o json
{
"kind": "Config",
"apiVersion": "v1",
"preferences": {},
"clusters": [
{
"name": "development",
"cluster": {
"server": "https://1.2.3.4",
"certificate-authority-data": "DATA+OMITTED"
}
}
],
"users": [
{
"name": "developer",
"user": {
"client-certificate": "fake-cert-file",
"client-key": "fake-key-seefile"
}
}
],
"contexts": [
{
"name": "dev-frontend",
"context": {
"cluster": "development",
"user": "developer",
"namespace": "frontend"
}
}
],
"current-context": "dev-frontend"
}

关于kubernetes - Telepresence 失败,说我的命名空间不存在,指出我的 k8s 上下文有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55620987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com