Dmi*_*nov 10 kubernetes minikube
我已经根据下面的配置文件创建了 ClusterIP 服务,但是我似乎无法从 minikube 获取该服务的 URL
\n\nk create -f service-cluster-definition.yaml\n\xe2\x9e\x9c minikube service myapp-frontend --url \n service default/myapp-frontend has no node port\nRun Code Online (Sandbox Code Playgroud)\n\n如果我尝试将 NodePort 添加到service-cluster-definition.yaml 的ports部分,它会抱怨错误,认为此类密钥已被弃用。
\n\n服务集群定义.yaml
\n\napiVersion: v1\nkind: Service\nmetadata:\n name: myapp-frontend\nspec:\n type: ClusterIP\n ports:\n - targetPort: 80\n port: 80\n selector:\n app: myapp\n type: etl\n\nRun Code Online (Sandbox Code Playgroud)\n\n部署定义.yaml
\n\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: myapp-deployment\n labels:\n app: myapp\n env: experiment\n type: etl\nspec:\n template:\n metadata:\n name: myapp-pod\n labels:\n app: myapp\n env: experiment\n type: etl\n spec:\n containers:\n - name: nginx-container\n image: nginx:1.7.1\n replicas: 3\n selector:\n matchLabels:\n type: etl\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x9e\x9c k get pods --selector="app=myapp,type=etl" -o wide\nNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES\nmyapp-deployment-59856c4487-2g9c7 1/1 Running 0 45m 172.17.0.9 minikube <none> <none>\nmyapp-deployment-59856c4487-mb28z 1/1 Running 0 45m 172.17.0.4 minikube <none> <none>\nmyapp-deployment-59856c4487-sqxqg 1/1 Running 0 45m 172.17.0.8 minikube <none> <none>\n\n\n(\xe2\x8e\x88 |minikube:default)\nProjects/experiments/kubernetes \n\xe2\x9e\x9c k version \nClient Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:14:22Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}\nServer Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}\n(\xe2\x8e\x88 |minikube:default)\nRun Code Online (Sandbox Code Playgroud)\n
Wil*_*.F. 15
\n\n\n\n
\n- \n
ClusterIP:在群集内部 IP 上公开服务。\n 选择此值使得只能从群集内部访问该服务。
- \n
NodePort:在静态端口(NodePort)上公开每个 Node\xe2\x80\x99s IP 上的服务。\n 您\xe2\x80\x99 将能够通过请求从集群 外部
NodeIP:NodePort联系 NodePort 服务。
问题一:
\n\n\n\n\n我已经根据下面的配置文件创建了 ClusterIP 服务,但是我似乎无法从 minikube 获取该服务的 URL。
\n
ClusterIP,Minikube 将不会给予外部访问。问题2:
\n\n\n\n\n如果我尝试将 NodePort 添加到 service-cluster-definition.yaml 的ports部分,它会抱怨错误,认为此类密钥已被弃用。
\n
type: ClusterIP为type: NodePort。这是 yaml 的正确形式:apiVersion: v1\nkind: Service\nmetadata:\n name: myapp-frontend\nspec:\n type: NodePort\n ports:\n - targetPort: 80\n port: 80\n selector:\n app: myapp\n type: etl\nRun Code Online (Sandbox Code Playgroud)\n\n再生产:
\n\nuser@minikube:~$ kubectl apply -f deployment-definition.yaml \ndeployment.apps/myapp-deployment created\n\nuser@minikube:~$ kubectl get pods\nNAME READY STATUS RESTARTS AGE\nmyapp-deployment-59856c4487-7dw6x 1/1 Running 0 5m11s\nmyapp-deployment-59856c4487-th7ff 1/1 Running 0 5m11s\nmyapp-deployment-59856c4487-zvm5f 1/1 Running 0 5m11s\n\nuser@minikube:~$ kubectl apply -f service-cluster-definition.yaml \nservice/myapp-frontend created\n\nuser@minikube:~$ kubectl get service myapp-frontend\nNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\nmyapp-frontend NodePort 10.101.156.113 <none> 80:32420/TCP 3m43s\n\nuser@minikube:~$ minikube service list\n|-------------|----------------|-----------------------------|-----|\n| NAMESPACE | NAME | TARGET PORT | URL |\n|-------------|----------------|-----------------------------|-----|\n| default | kubernetes | No node port | |\n| default | myapp-frontend | http://192.168.39.219:32420 | |\n| kube-system | kube-dns | No node port | |\n|-------------|----------------|-----------------------------|-----|\n\nuser@minikube:~$ minikube service myapp-frontend --url\nhttp://192.168.39.219:32420\n\nuser@minikube:~$ curl http://192.168.39.219:32420\n<!DOCTYPE html>\n<html>\n<head>\n<title>Welcome to nginx!</title>\n...{{output suppressed}}...\nRun Code Online (Sandbox Code Playgroud)\n\nNodePortminikube 后,开始使用MinikubeIP:NodePort将连接路由到匹配的 pod 来为应用程序提供服务。\n\n如果您有任何疑问,请在评论中告诉我。
\n| 归档时间: |
|
| 查看次数: |
7524 次 |
| 最近记录: |