Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operator部署cluster,使用外置Mysql,卡在nacos-mysql-sql-init的Pod上。 #272

Closed
cynen opened this issue Dec 10, 2021 · 11 comments

Comments

@cynen
Copy link

cynen commented Dec 10, 2021

前提: 没有使用helm,直接手工部署Operator
集群: v1.18.20
Docker: 19.03.15

直接手工部署Operator
kubectl apply -f chart/nacos-operator/nacos-operator-all.yaml

配置cluster的Mysql

apiVersion: nacos.io/v1alpha1
kind: Nacos
metadata:
  name: nacos
spec:
  type: cluster
  image: 172.16.8.11/nacos/nacos-server
  replicas: 3
  mysqlInitImage: mysql:5.7
  database:
    type: mysql
    mysqlHost: "172.16.8.11"
    mysqlDb: "nacos2"
    mysqlUser: "root"
    mysqlPort: "3306"
    mysqlPassword: "root"

当我部署cluser.yml时,卡在了initPod处:

kubectl apply -f cluster.yml

[root@localhost operator]# kubectl get pod
NAME                                     READY   STATUS     RESTARTS   AGE
nacos-0                                  1/1     Running    0          11m
nacos-1                                  1/1     Running    0          11m
nacos-2                                  1/1     Running    0          11m
nacos-mysql-sql-init-jdx6r               0/1     Init:0/2   0          11m
nacos-operator-67465d8964-5mx8p          1/1     Running    0          33m

我去查看 nacos-mysql-sql-init-jdx6r

...
Init Containers:
  mysql-check-host:
    Container ID:  docker://154e7abfedc381947ccb3d8bd0dfc1059a7a7df4c6195020190936a73d45e35a
    Image:         busybox:1.31
    Image ID:      docker://sha256:1c35c441208254cb7c3844ba95a96485388cef9ccc0646d562c7fc026e04c807
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sh
      -c
      until nslookup "${MYSQL_HOST}"; do echo waiting for mysql...; sleep 2; done;
    State:          Running
      Started:      Fri, 10 Dec 2021 22:22:34 +0800
    Ready:          False
    Restart Count:  0
    Environment:
      MYSQL_HOST:  172.16.8.11
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-gqccn (ro)
...

mysql-check-host一直卡住启动。。。

求帮助。。。

@cynen
Copy link
Author

cynen commented Dec 10, 2021

看了一下,这个脚本一直在循环执行,一直无法退出:

测试办法: 创建一个新的busybox:1.31的容器,进入,执行类似的命令:

/ # /bin/sh -c 'until nslookup 172.16.8.11; do echo "nacos" ;sleep 2 ;  done;'
Server:		8.8.4.4
Address:	8.8.4.4:53

** server can't find 11.8.16.172.in-addr.arpa: NXDOMAIN

nacos
Server:		8.8.4.4
Address:	8.8.4.4:53

** server can't find 11.8.16.172.in-addr.arpa: NXDOMAIN

nacos

...

无法退出。
是不支持配置IP么?

@cynen
Copy link
Author

cynen commented Dec 10, 2021

改成域名之后,又有一个坑。。。 SQL_SCRIPT也需要。。。

paderlol added a commit that referenced this issue Jan 13, 2022
fix: fix use ip failed when init database with mysql, fixes #272
@cynen
Copy link
Author

cynen commented Jan 13, 2022 via email

@Sucran
Copy link

Sucran commented May 10, 2023

@cynen SQL_SCRIPT的问题大佬是怎么解决的?

@cynen
Copy link
Author

cynen commented May 10, 2023 via email

@Sucran
Copy link

Sucran commented May 10, 2023

@paderlol PR好像没有彻底解决这个问题,我仍旧遇到客户端容器初始化的时候,报“option ‘-e’ requires an argument”的异常,不是部署cluster模式,是/sample/config/nacos_mysql.yaml,standalone集群部署的问题

@cynen
Copy link
Author

cynen commented May 10, 2023

我是把SQL脚本放到configmap中.

apiVersion: v1
kind: ConfigMap
metadata:
  name: nacos-mysql-sql-init
  namespace: default
  labels:
    app: nacos
    component: nacos
    middleware: nacos
data:
  SQL_SCRIPT: |
  # sql_script

@Sucran
Copy link

Sucran commented May 10, 2023

@cynen 大佬有两个问题,搞不太清楚,这个configmap是operator创建的,所以咱是每次apply完nacos的yaml之后,再重建一次configmap吗?这个SQL脚本是指官方的那个初始化脚本吗?

@cynen
Copy link
Author

cynen commented May 10, 2023

@cynen 大佬有两个问题,搞不太清楚,这个configmap是operator创建的,所以咱是每次apply完nacos的yaml之后,再重建一次configmap吗?这个SQL脚本是指官方的那个初始化脚本吗?

1.按说,这个configmap应该在operator内部创建好.但是实际貌似不太行.建议你部署的时候重建一下. (你不会没事一直删nacos,又重新搭建吧.... O(∩_∩)O哈哈~)
2. 这个sql脚本就是nacos官方的初始化脚本.

@kylin-hunter
Copy link

这个nacos-operator似乎不太稳定,我也遇到了类似的问题。
大家最好不要用这个nacos-operator了,还不稳定

@cynen
Copy link
Author

cynen commented Sep 8, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants