kubernetes - 未设置 Kubernetes 上下文
问题描述
我有这个配置文件
apiVersion: v1
clusters:
- cluster:
server: [REDACTED] // IP of my cluster
name: staging
contexts:
- context:
cluster: staging
user: ""
name: staging-api
current-context: staging-api
kind: Config
preferences: {}
users: []
我运行这个命令
kubectl config --kubeconfig=kube-config use-context staging-api
我收到这条消息
Switched to context "staging-api".
然后我跑
kubectl get pods
我收到了这条消息
The connection to the server localhost:8080 was refused - did you specify the right host or port?
据我从文档中可以看出
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/
我做对了。我错过了什么吗?
解决方案
是的,尝试以下步骤访问 Kubernetes 集群。此步骤假定您在 /etc/kubernetes 中有您的 k8s 证书。
您需要在以下变量中设置集群名称、Kubeconfig、用户和 Kube 证书文件,然后只需运行这些命令:
CLUSTER_NAME="kubernetes"
KCONFIG=admin.conf
KUSER="kubernetes-admin"
KCERT=admin
cd /etc/kubernetes/
$ kubectl config set-cluster ${CLUSTER_NAME} \
--certificate-authority=pki/ca.crt \
--embed-certs=true \
--server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
--kubeconfig=${KCONFIG}
$ kubectl config set-credentials kubernetes-admin \
--client-certificate=admin.crt \
--client-key=admin.key \
--embed-certs=true \
--kubeconfig=/etc/kubernetes/admin.conf
$ kubectl config set-context ${KUSER}@${CLUSTER_NAME} \
--cluster=${CLUSTER_NAME} \
--user=${KUSER} \
--kubeconfig=${KCONFIG}
$ kubectl config use-context ${KUSER}@${CLUSTER_NAME} --kubeconfig=${KCONFIG}
$ kubectl config view --kubeconfig=${KCONFIG}
在此之后,您将能够访问集群。希望这可以帮助。
推荐阅读
- autodesk-forge - 带有标记的 BIM360Docs API 导出文档不起作用?
- dialog - Electron dialog.showOpenDialog 未运行回调
- xslt - 高级 xsl 循环
- python - 异步运行python函数而不阻塞调用者函数(并且不需要结果)
- mysql - 选择有未答复的支持票的用户
- html - 使用引导程序的 flex 实用程序的垂直居中文本在 IE11 中不起作用
- c - 如何连接拼图以使右边缘与另一个拼图的左边缘具有相同的长度?
- facebook - 使用 php 在 facebook 中创建重定向 url
- android - android,LiveData 会带来什么开销
- javascript - 如何从Angular中的构建中排除文件类型?