在尝试获取有关在执行创建群集并获取凭据后使用AKS(Azure连接服务)为Kubernetes创建的节点的信息时,我遇到了问题。
我在ubuntu linux机器上使用azure-cli。
按照网址创建群集:https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough
使用命令kubectl get nodes
时出现以下错误
执行使用
az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>
错误:
kubectl get nodes
来自服务器的错误(InternalError):服务器上的错误(&#34;&#34;)阻止请求成功(获取节点)
我使用时遇到同样的错误:
kubectl get pods -n kube-system -o=wide
当我通过以下命令以另一个用户身份连接时,即
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
我将能够检索节点,即..,
kubectl get nodes
NAME STATUS ROLES AGE VERSION
<host-name> Ready master 20m v1.10.0
~$ kubectl get pods -n kube-system -o=wide
NAME READY STATUS RESTARTS AGE
etcd-actaz-prod-nb1 1/1 Running 0
kube-apiserver-actaz-prod-nb1 1/1 Running 0
kube-controller-manager-actaz-prod-nb1 1/1 Running 0
kube-dns-86f4d74b45-4qshc 3/3 Running 0
kube-flannel-ds-bld76 1/1 Running 0
kube-proxy-5s65r 1/1 Running 0
kube-scheduler-actaz-prod-nb1 1/1 Running 0
但这实际上是从$ HOME / .kube / config
文件覆盖新的聚类信息当我们连接到AKS-cluster get-credentials命令时,我错过了什么 - 让我引发错误
*Error from server (InternalError): an error on the server ("") has prevented the request from succeeding (get nodes)*
答案 0 :(得分:1)
你
之后如果应该已合并到您的本地配置:
你可以检查你的配置吗
并检查它是否指向正确的群集。
答案 1 :(得分:-1)
假设您在部署AKS时选择了默认配置。因此,您需要创建SSH密钥对才能登录到AKS节点。
使用“ az vm user update”将上面创建的公钥推送到AKS节点{plz会帮助您了解需要传递的所有开关。很简单)
要创建到AKS节点的SSH连接,请在AKS集群中运行帮助程序窗格。该帮助程序窗格为您提供对群集的SSH访问,然后对其他SSH节点进行访问。
要创建和使用此帮助程序窗格,请完成以下步骤: -运行debian(或任何其他容器,如centos7等)容器映像并将终端会话附加到该映像。该容器可用于与AKS群集中的任何节点创建SSH会话: kubectl运行-it --rm aks-ssh --image = debian
基本的Debian映像不包含SSH组件。 apt-get更新&& apt-get安装openssh-client -y
使用kubelet cmd复制私钥(您在开始时创建的私钥)。创建ssh对的计算机上必须存在kubelet工具包。 kubectl cp:/
现在您将在容器位置上看到私钥文件,将私钥权限更改为600,现在可以SSH AKS节点
希望这会有所帮助。