我有以下问题: –
1:我使用以下命令登录Kubernetes窗格: –
./cluster/kubectl.sh exec my-Nginx-0onux -c my-Nginx -it bash
‘ip addr show’
命令显示已分配pod的ip.由于pod是一个逻辑概念,我假设我登录了一个docker容器而不是pod,在这种情况下,pod ip与docker container ip相同.这种理解是否正确?
2:从Kubernetes节点,我做sudo docker ps然后执行以下操作: –
sudo docker exec 71721cb14283 -it '/bin/bash'
这不起作用.有人知道我做错了什么吗?
3:我想使用curl从pod中访问我创建的Nginx服务.如何在此pod或容器中安装curl以从内部访问服务.我想这样做是为了理解网络连接.
最佳答案
以下是在kubernetes网络中获取curl命令行以测试和探索内部REST端点的方法.
要获得在网络内运行的busyBox的提示,请执行以下命令. (提示是每个开发人员使用一个唯一的容器.)
kubectl run curl-<你的名字> –image = radial / busyBoxplus:curl -i –tty –rm
您可以省略–rm并保持实例运行以供以后重新使用.要在以后重复使用,请键入:
kubectl attach< POD ID> -c curl-<你的名字> -i -t
使用命令kubectl get pods,您可以看到所有正在运行的POD.类似于curl-yourname-944940652-fvj28.
编辑:请注意,您需要先从终端登录谷歌云(一次)才能执行此操作!下面是一个示例,请确保放入您的区域,集群和项目:gcloud container clusters get-credentials example-cluster –zone europe-west1-c –project example-148812