[kubernetes]-kubernetes创建一个mysql

31 篇文章 0 订阅

本文排版有问题  可以参考

https://blog.csdn.net/xujiamin0022016/article/details/109677187

 

cd /opt

创建mysql-dep.yaml

apiVersion: extensions/v1beta1                  #apiserver的版本

kind: Deployment                                      #副本控制器deployment,管理pod和RS

metadata:

  name: mysql                                            #deployment的名称,全局唯一

spec:

  replicas: 1                                                #Pod副本期待数量

  selector:

    matchLabels:                                         #定义RS的标签

      app: mysql                                          #符合目标的Pod拥有此标签

  strategy:                                                  #定义升级的策略

    type: RollingUpdate                               #滚动升级,逐步替换的策略

  template:                                                #根据此模板创建Pod的副本(实例)

    metadata:

      labels:

        app: mysql                                        #Pod副本的标签,对应RS的Selector

    spec:

      containers:                                          #Pod里容器的定义部分

      - name: mysql                                     #容器的名称

        image: mysql:5.7                               #容器对应的docker镜像

        volumeMounts:                                #容器内挂载点的定义部分

        - name: time-zone                            #容器内挂载点名称

          mountPath: /etc/localtime              #容器内挂载点路径,可以是文件或目录

        - name: mysql-data

          mountPath: /var/lib/mysql               #容器内mysql的数据目录

        - name: mysql-logs

          mountPath: /var/log/mysql              #容器内mysql的日志目录

        ports:

        - containerPort: 3306                         #容器暴露的端口号

        env:                                                   #写入到容器内的环境容量

        - name: MYSQL_ROOT_PASSWORD   #定义了一个mysql的root密码的变量

          value: "123456"

      volumes:                                             #本地需要挂载到容器里的数据卷定义部分

      - name: time-zone                              #数据卷名称,需要与容器内挂载点名称一致

        hostPath:

          path: /etc/localtime                        #挂载到容器里的路径,将localtime文件挂载到容器里,可让容器使用本地的时区

      - name: mysql-data

        hostPath:

          path: /data/mysql/data                   #本地存放mysql数据的目录

      - name: mysql-logs

        hostPath:

          path: /data/mysql/logs                    #本地存入mysql日志的目录

 

kubectl create -f mysql-dep.yaml

查看创建好的deployment运行情况

 
kubectl get deployment 
 
查看ReplicaSet(RS)的运行情况
kubectl get rs
 
kubectl get pod
查看Pod里容器的时间,检查时间是否与本地时间一致
kubectl exec pod名称 date

创建mysql-svc.yaml

apiVersion: v1

kind: Service     #表示Kubernetes Service

metadata:

  name: mysql   #Service的名称

spec:

  ports:

    - port: 3306   #Service提供服务的端口号

  selector:

    app: mysql    #Service对应的Pod的标签

 

kubectl create -f mysql-svc.yaml
查看Service的运行情况
kubectl get svc
并使用mysql-client测试连接

创建并配置tomcat容器
myweb-dep.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myweb
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - name: myweb
        image: kubeguide/tomcat-app:v1
        volumeMounts:
        - name: time-zone
          mountPath: /etc/localtime
        - name: tomcat-logs
          mountPath: /usr/local/tomcat/logs
        ports:
        - containerPort: 8080
        env:
        - name: MYSQL_SERVICE_HOST
          value: '10.1.177.94'               #此处为mysql服务的Cluster IP
        - name: MYSQL_SERVICE_PORT
          value: '3306'
      volumes:
      - name: time-zone
        hostPath:
          path: /etc/localtime
      - name: tomcat-logs
        hostPath:
          path: /data/tomcat/logs
 
kubectl create -f myweb-dep.yaml

定义myweb-svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: myweb
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30005
  selector:
    app: myweb
kubectl create -f myweb-svc.yaml 
kubectl get svc

curl http://192.168.10.132:30005
浏览器访问http://192.168.10.132:30005

 

访问
http://192.168.10.132:30005/demo

添加用户测试

 

参考

https://blog.51cto.com/andyxu/2309187

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值