美文网首页
练习:tomcat+mysql

练习:tomcat+mysql

作者: Robin92 | 来源:发表于2022-03-27 23:57 被阅读0次

    所有的资源都清理。
    因为 Pod 访问地址不固定,他们之间是通过 vIP(clusterIP)。

    实战练习

    # tomcat-svc.yml
    apiVersion: v1
    kind: Service
    metadata:
      name: myweb
    spec:
      type: NodePort
      ports:
        - port: 8080
          nodePort: 30008
      selector:
        app: myweb
    
    # tomcat-rc.yml
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: myweb
    spec:
      replicas: 1
      selector:
        app: myweb
      template:
        metadata:
          labels:
            app: myweb
        spec:
          containers:
            - name: myweb
              image: 172.16.156.128:5000/tomcat-app:v2
              ports:
              - containerPort: 8080
              env:
              - name: MYSQL_SERVICE_HOST
                value: 'mysql' # 改为 clusterIP 的地址,就是 svc/mysql 的地址
              - name: MYSQL_SERVICE_PORT
                value: '3306'
    
    # mysql-svc.yml
    apiVersion: v1
    kind: Service
    metadata:
      name: mysql
    spec:
      ports:
        - port: 3306
          targetPort: 3306
      selector:
        app: mysql
    
    # mysql-rc.yml
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: mysql
    spec:
      replicas: 1
      selector:
        app: mysql
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
            - name: mysql
              image: 172.16.156.128/mysql:5.7
              ports:
              - containerPort: 3306
              env:
              - name: MYSQL_ROOT_PASSWORD
                value: '123456'
    
    kubectl create -f mysql-rc.yml
    kubectl create -f mysql-svc.yml
    kubectl create -f tomcat-rc.yml
    kubectl create -f tomcat-svc.yml
    

    获取信息,当前因为没有镜像,所以启动不起来

    [root@k8s-master ~]# kubectl get all
    # ...
    NAME             READY     STATUS             RESTARTS   AGE
    po/mysql-18wj3   0/1       ImagePullBackOff   0          9h
    [root@k8s-master ~]#
    

    从网络上找到镜像并push到自己的私有仓库。

    docker search mysql:5.7
    docker pull docker.io/liyupei/mysql:5.7 # 找到一个进行拉取
    docker tag 98455b9624a9 172.16.156.128:5000/mysql:5.7
    docker push 172.16.156.128:5000/mysql:5.7
    
    docker search tomcat # 网上搜索并没有 tomcat-app:v2 的镜像dock
    docker pull docker.io/tomcat
    docker tag docker.io/tomcat 172.16.156.128:5000/tomcat-app:v2
    docker push 172.16.156.128:5000/tomcat-app:v2
    
    # 通过 kubectl edit xx xxx 来修改 rc 和 pod 中的镜像地址
    

    所有的项目修改成功启动后是这样的结果。

    启动成功

    此时打开网页 172.16.156.128:30008 地址,可以正常访问到 tomcat 的 404 页面,说明成功了。但因为服务不是教程中一摸一样的,所以访问不成功。

    # 扩展 myweb 个数
    kubectl scale rc myweb --replicas=3
    

    相关文章

      网友评论

          本文标题:练习:tomcat+mysql

          本文链接:https://www.haomeiwen.com/subject/offcjrtx.html