![](/img/trans.png)
[英]How to access kubernetes service on localhost with Docker for Windows
[英]How to access a Kubernetes Pod via a Service that is running on localhost's Docker-Kubernetes
我不確定如何訪問在服務后面運行的Pod。
我已經安裝並正在運行Docker CE。 這樣,我就在運行Docker'Kubernetes'。
我創建了一個Pod文件,然后kubectl created
它……然后使用端口轉發來測試它是否正常工作。 蜱!
接下來,我創建了一個服務,作為LoadBalancer, kubectl create
也創建了該服務,並且該服務正在運行...但是我不確定如何對其進行測試/訪問正在運行的Pod。
這是終端輸出:
Tests-MBP:k8s test$ kubectl get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
hornet-data 1/1 Running 0 4h <none>
Tests-MBP:k8s test$ kubectl get services --show-labels
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE LABELS
hornet-data-lb LoadBalancer 10.0.44.157 XX.XX.XX.XX 8080:32121/TCP 4h <none>
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 14d component=apiserver,provider=kubernetes
Tests-MBP:k8s test$
不確定pod標簽<none>
是否有問題? 我正在為服務選擇器使用標簽。
這是兩個文件...
apiVersion: v1
kind: Pod
metadata:
name: hornet-data
labels:
app: hornet-data
spec:
containers:
- image: ravendb/ravendb
name: hornet-data
ports:
- containerPort: 8080
和
apiVersion: v1
kind: Service
metadata:
name: hornet-data-lb
spec:
type: LoadBalancer
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: hornet-data
按照@vasily的要求:
Tests-MBP:k8s test$ kubectl get ep hornet-data-lb
NAME ENDPOINTS AGE
hornet-data-lb <none> 5h
關於/來自Vasily的更多信息:
Tests-MBP:k8s test$ kubectl apply -f hornet-data-pod.yaml
pod/hornet-data configured
Tests-MBP:k8s test$ kubectl get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
hornet-data 1/1 Running 0 5h app=hornet-data
Tests-MBP:k8s test$ kubectl get services --show-labels
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE LABELS
hornet-data-lb LoadBalancer 10.0.44.157 XX.XX.XX.XX 8080:32121/TCP 5h <none>
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 14d component=apiserver,provider=kubernetes
@vailyangapov基本上是通過OP中的注釋來回答這個問題的-這個回答分為兩個部分。
我沒有在清單中apply
更改 。 我對我的服務yaml文件進行了一些更改,但沒有推送這些更改。 因此,我需要做kubectl apply -f myPod.yaml
。
我當時的情況不對 。 當前上下文指向一個測試的Azure Kubernetes服務。 我以為一切都在Docker-CE隨附的我的localhost集群上(稱為docker-for-desktop
集群)。 由於這是一台新機器,因此我無法通過Docker啟用Kubernetes(這是安裝Docker-CE之后的手動步驟..默認設置為未啟用/未勾選)。 手動注意到這一點后,我勾選了啟用Kubernetes的選項, docker-for-desktop) cluster was installed. Then I manually changed over to this context:
docker docker-for-desktop) cluster was installed. Then I manually changed over to this context:
docker-for-desktop) cluster was installed. Then I manually changed over to this context:
kubectl config use-context docker-for-desktop`。
這兩個錯誤都很簡單。 向他們提供答案的原因是希望能夠幫助其他人使用此信息來幫助他們檢查自己的設置,如果某些事情無法正常進行-與我相似的問題正在發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.