1. 创建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拥有这里定义的标签

  1. 检查k8s中是否已经创建了MySQL,如果创建过,删除掉,以免端口冲突
kubectl get pod,svc | grep mysql   # 检查是否有MySQL相关的
kubevtl delete deployment pod [pod 名称]
kubevtl delete svc [svc 名称]
  1. 部署MySQL
kubectl apply -f mysql-test.yaml
  1. 查看pod、svc的状态
kubectl get pods,svc

在这里插入图片描述
Pod的状态显示“Running”,说明pod现在是正在运行的状态。svc对外端口号也暴露出来了。

  1. 内部测试
exec -it mysql-test-5cc477cfcd-stxxs bash   # mysql-test-5cc477cfcd-stxxs  为pod名

mysql -u root -p123456  # 进入MySQL测试
  1. Linux系统测试
mysql -u root -p123456 -h 192.168.2.100 --port=31528

前提是Linux系统中安装了MySQL,如果没有安装,参考文章Linux使用yum安装MySQL

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐