zoukankan      html  css  js  c++  java
  • 一个简单的Kubernetes应用部署示例

    说明

    我们通过一个示例来演示一下kubernetes部署应用的基本配置。

    这个示例相对比较简单,就是一个tomcat应用加上一个mysql数据库

    在tomcat里运行一个简单的webappp,这个app会访问Mysql获取数据。并展示在页面上。为了演示和简化的目的,只要程序正确连接到了数据库上,它就会自动完成对应的table的创建与初始化数据的准备工作。所以当我们通过浏览器访问此应用的时候,就会显示一个表格的页面,数据则来自数据库。

    配置

    我们在/root/k8s-yaml/目录下创建一个webapp的目录,在这个目录里面创建四个文件:

    .
    ├── mysql-dm.yaml
    ├── mysql-svc.yaml
    ├── myweb-dm.yaml
    └── myweb-svc.yaml
    

    这四个文件的内容分别如下:

    mysql-dm.yaml:

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: mysql
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: mysql
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
          - name: mysql
            image: mysql:5.7
            ports:
            - containerPort: 3306 
            env:
            - name: MYSQL_ROOT_PASSWORD
              value: "123456"
    

    mysql-svc.yaml:

    apiVersion: v1
    kind: Service
    metadata:
      name: mysql
    spec:
      ports:
      - port: 3306
      selector:
        app: mysql``
    

    myweb-dm.yaml:

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: myweb
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: myweb
      template:
        metadata:
          labels:
            app: myweb
        spec:
          containers:
          - name: myweb
            image: kubeguide/tomcat-app:v1
            ports:
            - containerPort: 8080
            env:
            - name: MYSQL_SERVICE_HOST
              value: 'mysql'
            - name: MYSQL_SERVICE_PORT
              value: '3306
    

    myweb-svc.yaml:

    apiVersion: v1
    kind: Service
    metadata:
      name: myweb
    spec:
      type: NodePort
      ports:
      - port: 8080
        nodePort: 30001
      selector:
        app: myweb
    

    我们通过如下方式启动:

    kubectl apply -f ./
    

    访问:

    http://$node_ip:30001/demo

  • 相关阅读:
    206#反转链表
    19#删除链表的倒数第N个节点
    142#环形链表2
    209#长度最小的子数组
    54#螺旋矩阵
    498#对角线遍历
    Github下载文件慢试试这款工具吧
    Bing每日壁纸API
    3.新手建站教程系列之认识WordPress和第一篇文章
    2.新手建站教程系列之利用本地环境搭建网站
  • 原文地址:https://www.cnblogs.com/breezey/p/9457734.html
Copyright © 2011-2022 走看看