[英]AKS using Kubernetes : not able to connect to cluster nodes once logged in to the cluster through azure-cli on Ubuntu
在创建集群并获取凭据后,尝试获取有关使用Kubernetes的AKS(Azure Connected Service)创建的节点的信息时遇到问题。
我在ubuntu linux机器上使用azure-cli。
遵循用于创建集群的网址: https : //docs.microsoft.com/zh-cn/azure/aks/kubernetes-walkthrough
使用以下命令执行连接到集群后,使用命令kubectl get nodes
时出现以下错误
az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>
错误:
kubectl get nodes
服务器错误(InternalError):服务器(“”)上的错误已阻止请求成功(获取节点)
我在使用时确实得到了相同的错误:
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命令let时,我是否丢失了某些东西,导致我出错
*Error from server (InternalError): an error on the server ("") has prevented the request from succeeding (get nodes)*
在你之后
如果应该已经合并到本地配置中:
你能检查你的配置吗
并检查它是否指向正确的群集。
假设您在部署AKS时选择了默认配置。 因此,您需要创建SSH密钥对才能登录到AKS节点。
使用“ az vm用户更新”将上面创建的公钥推送到AKS节点{plz会帮助您了解需要传递什么所有开关。 很简单)
要创建到AKS节点的SSH连接,请在AKS群集中运行一个帮助程序窗格。 该帮助程序窗格为您提供对群集的SSH访问,然后对其他SSH节点进行访问。
要创建和使用此辅助容器,请完成以下步骤:-运行debian(或任何其他容器,如centos7等)容器映像并将终端会话附加到该映像。 该容器可用于与AKS集群中的任何节点创建SSH会话:kubectl run -it --rm --aks-ssh --image = debian
基本的Debian映像不包含SSH组件。 apt-get更新&& apt-get安装openssh-client -y
使用kubelet cmd复制私钥(在开始时创建的私钥)。 创建ssh对的计算机上必须存在kubelet工具包。 kubectl cp:/
现在,您将在容器位置上看到私钥文件,将私钥权限更改为600,现在可以SSH AKS节点
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.