我有一个本地测试/开发服务器(当然是HTTP),监听端口8000.
我正在使用Linux,所以要在Internet Explorer 6,7,8等上测试页面.我使用VirtualBox运行虚拟机; 我还需要看看它在Windows环境中的外观如何(例如字体不同).
在我的真机中,我只是使用URL打开网站http://localhost:8000,如何从虚拟机中解决这个本地主机?
现在我的解决方法是使用IP地址.有更好的想法吗?
我正在 minikube 中运行一些服务并尝试连接到 3306 端口上在 localhost(127.0.0.1) 上运行的 mysql。
我读了这个并尝试创建service和Endpoints. 但是,当我指定127.0.0.1为 IP 时,它会引发如下错误:
The Endpoints "mysql-service" is invalid: subsets[0].addresses[0].ip: Invalid value: "127.0.0.1": may not be in the loopback range (127.0.0.0/8)
我的部署如下:
---
apiVersion: v1
kind: Service
metadata:
name: mysql-service
spec:
ports:
- protocol: TCP
port: 1443
targetPort: mysql
---
apiVersion: v1
kind: Endpoints
metadata:
name: mysql-service
subsets:
- addresses:
- ip: 127.0.0.1
ports:
- name: mysql
port: 3306
Run Code Online (Sandbox Code Playgroud)
请帮助我了解如何mysql从minikube. …
我在我的ubuntu 16.04机器上安装了minikube并启动了一个集群,并附带一条消息
"Kubernetes is available at https://192.168.99.100:443"
接下来,我使用以下命令部署了nginx服务
> kubectl.sh run my-nginx --image=nginx --replicas=2 --port=80 --expose
> kubectl.sh get pods -o wide
NAME READY STATUS RESTARTS AGE NODE
my-nginx-2494149703-8jnh4 1/1 Running 0 13m 127.0.0.1
my-nginx-2494149703-q09be 1/1 Running 0 13m 127.0.0.1
> kubectl.sh get services -o wide
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes 10.0.0.1 <none> 443/TCP 14m <none>
my-nginx 10.0.0.83 <none> 80/TCP 13m run=my-nginx
> kubectl.sh get nodes -o wide
NAME STATUS AGE
127.0.0.1 Ready 16m
Run Code Online (Sandbox Code Playgroud)
问题:
1)节点127.0.0.1是我的本地开发机器吗?这让我最困惑.
2)以下理解是否正确:集群(节点,kubernetes API服务器)具有10.0.0.x中的内部IP地址,其对应的外部IP地址为192.168.99.x. …
我已经建立了在Google Kubernetes Engine + Google Cloud SQL上运行的应用程序堆栈。在本地开发时,我希望我的应用程序连接到在集群外部运行的postgres数据库服务器,以模拟生产环境。
似乎做到这一点的方法是通过定义一个外部端点,如下所述:Minikube将在本地主机上运行的MySQL作为服务公开
不幸的是,我无法将“ 127.0.0.1”指定为端点IP地址:
kubectl apply -f kubernetes/local/postgres-service.yaml
service "postgres-db" unchanged
The Endpoints "postgres-db" is invalid: subsets[0].addresses[0].ip:
Invalid value: "127.0.0.1": may not be in the loopback range (127.0.0.0/8)
Run Code Online (Sandbox Code Playgroud)
所以我被迫将postgres绑定到我的实际机器地址。
似乎必须有一种方法可以将本地主机的端口映射到本地kubernetes集群,但是到目前为止,我还没有找到一种方法来实现。
有人知道诀窍吗?或者,有人可以建议不涉及在群集内运行postgres的替代解决方案吗?
我正在尝试从minikube pod内部访问托管在localhost的docker容器内的MySQL数据库,但收效甚微。我尝试了描述的解决方案,Minikube将在本地主机上运行的MySQL作为服务公开,但没有任何效果。我已经在我们在AWS上使用的服务上对我的解决方案建模,但是它似乎不适用于minikube。我的服务内容如下
apiVersion: v1
kind: Service
metadata:
name: mysql-db-svc
namespace: external
spec:
type: ExternalName
ExternalName: 172.17.0.2
Run Code Online (Sandbox Code Playgroud)
...我尝试使用端口3306上的“ mysql-db-svc”从pod内部连接到数据库,但无济于事。如果尝试从Pod内对地址“ mysql-db-svc”进行CURL处理,它将无法解析主机名。
有人可以建议沮丧的新手吗?
我正在尝试在 Kubernetes 中部署一个 asp.net core 2.2 应用程序。此应用程序是一个简单的网页,需要访问 SQL Server 数据库才能显示一些信息。该数据库托管在我的本地开发计算机 (localhost) 上,Web 应用程序部署在 minikube 集群中以模拟生产环境,我的 Web 应用程序可以部署在云中并访问远程数据库。
我设法通过公开端口 80 来显示我的 Web 应用程序。但是,我不知道如何使我的 Web 应用程序从集群内部连接到我的本地计算机上托管的 SQL Server 数据库。
我假设我的连接字符串是正确的,因为当我将 Web 应用程序部署到 IIS 本地服务器、docker 容器 (docker run) 或 docker 服务 (docker create service) 时,我的 Web 应用程序可以连接到 SQL Server 数据库,但在部署时却不能部署在 Kubernetes 集群中。我知道集群在不同的网络中,所以我尝试创建一个没有选择器的服务,如本问题所述,但没有运气......我什至尝试更改连接字符串 IP 地址以匹配创建的服务之一,但是它也失败了。
我的防火墙设置为接受到 1433 端口的入站连接。
我的 SQL Server 数据库配置为允许远程访问。
这是我使用的连接字符串:
"Server=172.24.144.1\\MyServer,1433;Database=TestWebapp;User Id=user_name;Password=********;"
Run Code Online (Sandbox Code Playgroud)
这是我用来部署 Web 应用程序的文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp
spec:
replicas: 1
template:
metadata:
labels:
app: …Run Code Online (Sandbox Code Playgroud) kubernetes ×5
minikube ×4
docker ×2
localhost ×2
etcd ×1
flannel ×1
mysql ×1
postgresql ×1
sql-server ×1
virtualbox ×1