...
Code Block |
---|
#verify nodeport service exists ubuntu@k8s-s1-master:~$ kubectl get svc -n onap | grep mysql mysql-nodeport NodePort 10.107.197.242 <none> 3306:30031/TCP,3307:30032/TCP 29s ubuntu@k8s-s1-master:~$ #verify the endpoints are assigned for the service #make a note of Node Port Number to beuse used in step#5 ubuntu@k8s-s1-master:~$ kubectl describe svc mysql-nodeport -n onap Name: mysql-nodeport Namespace: onap Labels: statefulset.kubernetes.io/pod-name=sdnc-dbhost-0 Annotations: <none> Selector: statefulset.kubernetes.io/pod-name=sdnc-dbhost-0 Type: NodePort IP: 10.107.197.242 Port: sdnc-dbhost-0-port-3306 3306/TCP TargetPort: 3306/TCP NodePort: sdnc-dbhost-0-port-3306 30231/TCP Endpoints: 10.44.0.3:3306 Port: sdnc-dbhost-0-port-3307 3307/TCP TargetPort: 3307/TCP NodePort: sdnc-dbhost-0-port-3307 30232/TCP Endpoints: 10.44.0.3:3307 Session Affinity: None External Traffic Policy: Cluster Events: <none> ubuntu@k8s-s1-master:~$ |
4. Create node port service (optional, need basis).Create NodePort service on both sites in "onap" namespace. Make sure the kubectl version is 1.9x. Use attached - mysql-nodeport.yaml.
Info |
---|
You can skip this step if the node port service are verified in step #3 . This step is to be followed on both sites.already exists. |
Code Block |
---|
ubuntu@k8s-s1-master:~$ cat mysql-nodeport.yaml apiVersion: v1 kind: Service metadata: name: mysql-nodeport namespace: "onap" labels: statefulset.kubernetes.io/pod-name: sdnc-dbhost-0 spec: ports: - name: "sdnc-dbhost-0-port-3306" port: 3306 targetPort: 3306 nodePort: 30231 - name: "sdnc-dbhost-0-port-3307" port: 3307 targetPort: 3307 nodePort: 30232 type: NodePort selector: statefulset.kubernetes.io/pod-name: sdnc-dbhost-0 ubuntu@k8s-s1-master:~$ #create nodeport service ubuntu@k8s-s1-master:~$ kubectl create -f mysql-nodeport.yaml service "mysql-nodeport" created #verify created service ubuntu@k8s-s1-master:~$ kubectl get svc -n onap | grep mysql-nodeport mysql-nodeport NodePort 10.107.197.242 <none> 3306:30031/TCP,3307:30032/TCP 29s ubuntu@k8s-s1-master:~$ #verify the endpoints are assigned for the service ubuntu@k8s-s1-master:~$ kubectl describe svc mysql-nodeport -n onap Name: mysql-nodeport Namespace: onap Labels: statefulset.kubernetes.io/pod-name=sdnc-dbhost-0 Annotations: <none> Selector: statefulset.kubernetes.io/pod-name=sdnc-dbhost-0 Type: NodePort IP: 10.107.197.242 Port: sdnc-dbhost-0-port-3306 3306/TCP TargetPort: 3306/TCP NodePort: sdnc-dbhost-0-port-3306 30231/TCP Endpoints: 10.44.0.3:3306 Port: sdnc-dbhost-0-port-3307 3307/TCP TargetPort: 3307/TCP NodePort: sdnc-dbhost-0-port-3307 30232/TCP Endpoints: 10.44.0.3:3307 Session Affinity: None External Traffic Policy: Cluster Events: <none> ubuntu@k8s-s1-master:~$ |
...
Code Block |
---|
#Login to the master db pod ubuntu@k8s-s1-master:~$ kubectl exec -it sdnc-dbhost-0 -n onap bash Defaulting container name to sdnc-db-container. Use 'kubectl describe pod/sdnc-dbhost-0' to see all of the containers in this pod. #Login to mysql root@sdnc-dbhost-0:/etc/mysql/conf.d# mysql -u root -popenECOMP1.0 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 46083 Server version: 5.7.21-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> #find out log bin position mysql> show master status; +--------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------------+----------+--------------+------------------+-------------------+ | sdnc-dbhost-0-bin.000004 | 154 | | | | | | | +--------------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) mysql> stop slave; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> #Set: # - "master_host" to peer site's 'K8S master node' IP address # - "master_port" to port number of the NodePort service (from step#3) # - "master_user" to user name (here 'root') # - "master_password" to user's password (here 'root' user's default password) # - "master_log_file" to log_file name from "show master status" commands on the peer site (Primary) # - "master_log_pos" to log_position from "show master status" commands on the peer site (Primary) mysql> CHANGE MASTER TO master_host='10.147.112.136', master_port=30231, master_user='root', master_password='openECOMP1.0', master_log_file='sdnc-dbhost-0-bin.000002', master_log_pos=37433012; mysql> start slave; Query OK, 0 rows affected (0.00 sec) mysql> |
...
Code Block |
---|
#Login to the master db pod ubuntu@k8s-s1-master:~$ kubectl exec -it sdnc-dbhost-0 -n onap bash Defaulting container name to sdnc-db-container. Use 'kubectl describe pod/sdnc-dbhost-0' to see all of the containers in this pod. #Login to mysql root@sdnc-dbhost-0:/etc/mysql/conf.d# mysql -u root -popenECOMP1.0 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 46083 Server version: 5.7.21-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> #find out log bin position mysql> show master status; +--------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------------+----------+--------------+------------------+-------------------+ | sdnc-dbhost-0-bin.000003 | 37433012 | | | | +--------------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) mysql> stop slave; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> #Set: # - "master_host" to peer site's 'K8S master node' IP address # - "master_port" to port number of the NodePort service (from step#3) # - "master_user" to user name (here 'root') # - "master_password" to user's password (here 'root' user's default password) # - "master_log_file" to log_file name from "show master status" commands on peer site (Seconday) # - "master_log_pos" to log_position from "show master status" commands on the peer site (Seconday) mysql> CHANGE MASTER TO master_host='10.147.113.36', master_port=30231, master_user='root', master_password='openECOMP1.0', master_log_file='sdnc-dbhost-0-bin.000004',master_log_pos=154; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> start slave; Query OK, 0 rows affected (0.00 sec) mysql> |
...