您刚刚开始使用Kubernetes。我已经使用Minkikube在Kubernetes上部署了Flask应用程序。我已经在本地计算机上运行MySQL服务器。当我尝试访问数据库时,我会收到错误消息
InternalError: (pymysql.err.InternalError) (1130, u"Host '157.37.85.26'
is not allowed to connect to this MySQL server")
(Background on this error at: http://sqlalche.me/e/2j85)
这里的IP是动态的,每次我尝试访问时。它将使用不同的IP进行连接
这是我的deployment.ymal文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask-deployment
spec:
selector:
matchLabels:
app: flask-crud-app
replicas: 3
template:
metadata:
labels:
app: flask-crud-app
spec:
containers:
- name: flask-crud-app
image: flask-crud-app:latest
ports:
- containerPort: 80
还有service.yaml
apiVersion: v1
kind: Service
metadata:
name: flask-service
spec:
selector:
app: flask-crud-app
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 31000
type: NodePort
答案 0 :(得分:1)
这是因为您当前的配置不允许来自该IP地址的请求。假设您以root
用户身份进行连接,那么将有一种解决方法(不推荐),为root
用户提供从该IP连接的特权。
连接到您的mysql服务器并执行:
$ mysql -u root -p
$ GRANT ALL PRIVILEGES ON *.* TO 'root'@'my_ip' IDENTIFIED BY 'root_password' WITH GRANT OPTION;
$ FLUSH PRIVILEGES;
建议:设置权限受限的新用户,并允许该用户从给定IP发出请求。