OpenShift Vitualization - 通过服务名访问 VM 中的服务(附视频)

本文详细介绍了如何在OpenShift4.12集群中安装MySQLServer,包括从集群内部和外部访问的配置方法,以及安全设置步骤,如用户创建和权限管理。此外,还涉及到了使用NodePort类型服务暴露MySQL以允许外部访问。
摘要由CSDN通过智能技术生成

OpenShift / RHEL / DevSecOps 汇总目录
说明:本文已经在支持 OpenShift 4.12 的环境中验证

安装 MySQL Server

  1. 先在 OpenShift 中创建一个可用密码登录的 Fedora VM(过程可参见《OpenShift 4 - 通过 SSH 远程访问 OpenShift Virtualization 的虚拟机》),名称例如为 fedora-mysql。
  2. 进入该 VM。
$ virtctl ssh fedora@fedora-mysql
  1. 执行命令,在 Fedora VM 中安装 MySQL。
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-fc38-1.noarch.rpm
sudo dnf install mysql-community-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
  1. 获取 MySQL 的 root 用户的初始密码。
$ sudo grep 'temporary password' /var/log/mysqld.log
  1. 执行命令,除了重置 root 密码外,其他可根据需要设置。
$ sudo mysql_secure_installation
  1. 修改 /etc/my.cnf 文件,打开 “default-authentication-plugin=mysql_native_password” 一行的注释,然后保存文件。
$ sudo vi /etc/my.cnf
  1. 重启 MySQL 服务后登录 MySQL。
$ sudo systemctl restart mysqld
$ mysql -u root --password=P@ssw0rd
  1. 执行命令在 MySQL 中创建测试用户,然后退出 MySQL。
mysql> CREATE USER 'user1'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> create schema test;
mysql> quit;
  1. 然后用新创建的 user1 用户登录 MySQL。
$ mysql -u root --password=P@ssw0rd

从集群内部访问 MySQL

  1. 执行命令,为 VM 创建对应的服务。注意:当服务类型是 ClusterIP 的时候,该服务只能从 OpenShift 集群的内部访问。
$ virtctl expose vm fedora-mysql --name=fedora-mysql-3306 --type=ClusterIP --port=3306
$ oc get svc
NAME                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
fedora-mysql-3306   ClusterIP   172.30.37.66   <none>        3306/TCP   47m
  1. 在集群内部的另外一个 VM 中安装 MySQL 客户端。
$ sudo yum install -y mysql
  1. 使用 VM 的服务名或 IP 地址访问 MySQL。
$ mysql -u user1 --password=P@ssw0rd --host=fedora-mysql-3306.vmexamples.svc.cluster.local --port=3306

从集群外部访问 MySQL

  1. 执行命令,为 VM 创建对应的服务。注意:当服务类型为 NodePort 的时候,该服务可从 OpenShift 集群的外部访问。
$ virtctl expose vm fedora-mysql --name=fedora-mysql-3306 --type=NodePort --port=3306 --target-port=31046
$ oc get svc
NAME                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)           AGE
fedora-mysql-3306   NodePort    172.30.34.243  <none>        3306:31046/TCP    5m16s
  1. 在集群外部环境中安装 MySQL 客户端。
$ sudo yum install -y mysql
  1. 获得 OpenShift 的子域名。
$ SUBDOMAIN=$(oc get ingresscontroller default -n openshift-ingress-operator -o json | jq -r '.status.domain')
  1. 从外部访问 MySQL。
$ mysql -u user1 --password=P@ssw0rd --host=console-openshift-console.${SUBDOMAIN} --port=31046

视频

参考

https://docs.fedoraproject.org/en-US/quick-docs/installing-mysql-mariadb/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值