使用k8s部署mysql
使用k8s创建MySQL及测试
·
- 创建MySQL的yaml文件
vim mysql-test.yaml
将下述内容复制到yaml文件中
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-test #名称,全局唯一
namespace: default # 默认空间
spec:
replicas: 1 #Pod 副本的期待数量
selector:
matchLabels:
app: mysql # 符合目标的Pod拥有此标签
template: # 根据此模版创建Pod的副本
metadata:
labels:
app: mysql # Pod副本拥有的标签,对应Selector
spec:
containers: # Pod的内容的定义部分
- name: mysql # 容器的名称
image: mysql # 容器对应的Docker Image
ports:
- containerPort: 3306 # 容器应用监听的端口号
env:
- name: MYSQL_ROOT_PASSWORD # 设置mysql的初始化密码
value: "123456" # 设置mysql的初始化密码
---
apiVersion: v1
kind: Service # 表明是Kubernetes Service
metadata:
name: mysql-test # Service 的全局唯一名称
spec:
type: NodePort
selector:
app: mysql
ports: # Service 提供服务的端口
- port: 3306 # Service 对应的Pod拥有这里定义的标签
- 检查k8s中是否已经创建了MySQL,如果创建过,删除掉,以免端口冲突
kubectl get pod,svc | grep mysql # 检查是否有MySQL相关的
kubevtl delete deployment pod [pod 名称]
kubevtl delete svc [svc 名称]
- 部署MySQL
kubectl apply -f mysql-test.yaml
- 查看pod、svc的状态
kubectl get pods,svc
Pod的状态显示“Running”,说明pod现在是正在运行的状态。svc对外端口号也暴露出来了。
- 内部测试
exec -it mysql-test-5cc477cfcd-stxxs bash # mysql-test-5cc477cfcd-stxxs 为pod名
mysql -u root -p123456 # 进入MySQL测试
- Linux系统测试
mysql -u root -p123456 -h 192.168.2.100 --port=31528
前提是Linux系统中安装了MySQL,如果没有安装,参考文章Linux使用yum安装MySQL
更多推荐
所有评论(0)