k8s部署wordpress+mysql博客平台

1、yaml文件准备

1.1 wordpress-db.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: mysql

  namespace: wordpress

  labels:

    app: mysql

spec:

  replicas: 1

  selector:

    matchLabels:

      app: mysql

  strategy: {}

  template:

    metadata:

      creationTimestamp: null

      labels:

        app: mysql

    spec:

      containers:

      - image: mysql:5.6

        name: mysql

        imagePullPolicy: IfNotPresent

        ports:

        - containerPort: 3306

          name: dbport

        env:                      #环境编排,进入数据库中创建Wordpress数据库和WordPress用户

        - name: MYSQL_ROOT_PASSWORD

          value: rootPassW0rd

        - name: MYSQL_DATABASE

          value: wordpress

        - name: MYSQL_USER

          value: wordpress

        - name: MYSQL_PASSWORD

          value: wordpress

        volumeMounts:

        - name: db

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

        resources: {}

      volumes:

      - name: db

        hostPath:

          path: /var/lib/mysql        #   容器目录中的数据映射到本地目录中

status: {}

---

apiVersion: v1

kind: Service

metadata:

  name: mysql

  namespace: wordpress

spec:

  selector:

    app: mysql

  ports:

  - name: mysqlport

    protocol: TCP

    port: 3306

    targetPort: dbport

1.2 wordpress.yaml

注意需要修改文件中连接数据库的ip信息
在这里插入图片描述

apiVersion: apps/v1

kind: Deployment

metadata:

  name: wordpress

  namespace: wordpress

  labels:

    app: wordpress

spec:

  replicas: 1

  selector:

    matchLabels:

      app: wordpress

  strategy: {}

  template:

    metadata:

      creationTimestamp: null

      labels:

        app: wordpress

    spec:

      containers:

      - name: wordpress

        image: wordpress

        imagePullPolicy: IfNotPresent

        ports:

        - containerPort: 80

          name: wdport

        env:

        - name: WORDPRESS_DB_HOST

          value:  10.108.244.58:3306    #连接数据库,这里的ip地址查看mysql启动时的ip

        - name: WORDPRESS_DB_USER

          value: wordpress

        - name: WORDPRESS_DB_PASSWORD

          value: wordpress

status: {}

---

apiVersion: v1

kind: Service

metadata:

  name: wordpress

  namespace: wordpress

spec:

  type: NodePort

  selector:

    app: wordpress

  ports:

  - name: wordpressport

    protocol: TCP

    port: 80

    targetPort: wdport

2、部署安装

2.1 先创建wordpress命名空间

kubectl create ns wordpress

2.2 部署wordpress-db

kubectl apply -f wordpress-db.yaml
kubectl get svc -n wordpress

在这里插入图片描述

2.3部署wordpress

先修改ordpress.yaml文件中的数据库连接信息,使用2.2中mysql服务的CLUSTER-IP地址
在这里插入图片描述

kubectl apply -f wordpress.yaml
kubectl get svc -n wordpress

在这里插入图片描述
可以看到wordpress对外暴露的端口号为30215,node节点是k8s-node1

3、访问测试

我这里用的node1节点http://192.168.2.102:30215/
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较复杂的问题,需要详细说明。我会尽可能地给您提供一些指导。 首先,您需要了解一些基础知识,如 Kubernetes 和 Prometheus。Kubernetes 是一个容器编排平台,可以帮助您自动管理多个容器应用程序的部署、扩展和故障恢复。Prometheus 是一个开源的监控系统,可以收集和存储应用程序的指标,并支持告警和可视化。 以下是大致的步骤: 1. 部署 Kubernetes 集群,并准备好部署 Prometheus 和 Grafana 的节点。您可以使用各种 Kubernetes 发行版,如 kops、kubeadm 等。 2. 安装和配置 Prometheus。您可以使用 Prometheus 的 Helm Chart 进行部署,并通过 Prometheus Operator 进行管理。在部署 Prometheus 时,您需要配置它来收集应用程序的指标,并将其存储在 Prometheus 存储中。 3. 部署 Grafana。您可以使用 Grafana 的 Helm Chart 进行部署,并配置它来连接到 Prometheus 存储。在 Grafana 中,您可以创建仪表板并可视化 Prometheus 存储中的指标数据。 4. 配置告警。您可以使用 Prometheus 的 Alertmanager 进行告警,并将告警发送到 Slack、Email 等渠道。在配置告警时,您需要定义告警规则,并配置 Alertmanager 来发送告警。 以上是部署 Prometheus、Grafana 和告警的大致步骤。由于每个环境的部署和配置都有所不同,所以具体的细节可能会有所不同。我建议您查阅官方文档,并根据您的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值