项目实战:lngress搭建Nginx+WP论坛+MariaDB

embedded/2024/9/24 7:53:54/

1. 网站架构


本次部署形式完全舍弃 Docker,将所有应用都置于Kubernetes,采用 Deployment 而非单 Pod 部署,稳定性得到升级。

2. 部署 MariaDB

[root@k8s-master ~]# mkdir tdr
[root@k8s-master ~]# cd tdr/

(1)定义 ConfigMap

[root@k8s-master tdr]# vim mariadb-configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
        name: mariadb-configmap
data:
        USER: "wp"
        PASSWORD: "123"
        ROOT_PASSWORD: "123"
        DATABASE: "db"

(2)定义 Deployment

[root@k8s-master tdr]# vim mariadb-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
        name: mariadb-deployment
        labels:
                app: mariadb-deployment
spec:
        replicas:
        selector: 
                matchLabels:
                        app: mariadb-deployment
        template:
                metadata: 
                        labels:
                                app: mariadb-deployment
                spec:
                        containers:
                        -       name: mariadb
                                image: docker.io/library/mariadb:latest
                                imagePullPolicy: Never
                                ports:
                                -       name: mariadbport
                                        containerPort: 3306
                                envFrom:
                                -       prefix: "MARIADB_"
                                        configMapRef:
                                                name: mariadb-configmap

(3)定义 Service

[root@k8s-master tdr]# vim mariadb-service.yaml 
apiVersion: v1
kind: Service
metadata:
        name: mariadb-service
spec:
        selector:
                app: mariadb-deployment
        ports:
        -       port: 3306
                targetPort: 3306
                protocol: TCP
        type: NodePort

(4)启动 MariaDB

[root@k8s-master tdr]# kubectl create -f mariadb-configmap.yaml 
configmap/mariadb-configmap created
[root@k8s-master tdr]# kubectl create -f mariadb-deployment.yaml 
deployment.apps/mariadb-deployment created
[root@k8s-master tdr]# kubectl create -f mariadb-service.yaml 
service/mariadb-service created

[root@k8s-master tdr]# kubectl get all
NAME                                      READY   STATUS    RESTARTS       AGE
#pod信息:
pod/cluster-test-66bb44bd88-nk46t         1/1     Running   38 (14m ago)   10d
pod/mariadb-deployment-5bf6d9f98c-wt7cc   1/1     Running   0              25m
#service信息:
NAME                      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/kubernetes        ClusterIP   10.96.0.1      <none>        443/TCP          10d
service/mariadb-service   NodePort    10.96.249.62   <none>        3306:30150/TCP   14m
#deployment信息:
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/cluster-test         1/1     1            1           10d
deployment.apps/mariadb-deployment   1/1     1            1           25m
#replicaset信息:
NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/cluster-test-66bb44bd88         1         1         1       10d
replicaset.apps/mariadb-deployment-5bf6d9f98c   1         1         1       25m

[root@k8s-master tdr]# kubectl exec -it pods/cluster-test-66bb44bd88-nk46t -- bash
(08:47 cluster-test-66bb44bd88-nk46t:/) nslookup mariadb-service
Server:        10.96.0.10
Address:    10.96.0.10#53

Name:    mariadb-service.default.svc.cluster.local
Address: 10.96.249.62

3. 部署 Wrodpress

(1)定义 ConfigMap

[root@k8s-master tdr]# vim wordpress-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
        name: wordpress-config
data:
        NAME: "db"
        USER: "wp"
        PASSWORD: "123"
        HOST: "mariadb-service"

(2)定义 Deployment

[root@k8s-master tdr]# vim wordpress-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
        name: wordpress-deployment
        labels:
                app: wordpress-deployment
spec:
        replicas: 2
        selector:
                matchLabels:
                        app: wordpress-deployment
        template:
                metadata:
                        labels:
                                app: wordpress-deployment
                spec:
                        containers:
                        -       name: wp
                                image: docker.io/library/wordpress:latest
                                imagePullPolicy: Never
                                ports:
                                -       name: wordpressport
                                        containerPort: 80
                                envFrom:
                                -       prefix: "WORDPRESS_DB_"
                                        configMapRef:
                                                name: wordpress-config

(3)定义 Service

[root@k8s-master tdr]# vim wordpress-service.yaml 
apiVersion: v1
kind: Service
metadata:
        name: wordpress-service
spec:
        selector:
                app: wordpress-deployment
        ports:
        -       name: http
                port: 80
                targetPort: 80
                protocol: TCP
                nodePort: 32000
        type: NodePort

(4)启动 WordPress

[root@k8s-master tdr]# kubectl create -f wordpress-configmap.yaml 
configmap/workpress-config created
[root@k8s-master tdr]# kubectl create -f wordpress-deployment.yaml
deployment.apps/wordpress-deployment created
[root@k8s-master tdr]# kubectl create -f wordpress-service.yaml 
service/wordpress-service created
[root@k8s-master tdr]# kubectl get po
NAME                                    READY   STATUS    RESTARTS       AGE
cluster-test-66bb44bd88-nk46t           1/1     Running   38 (50m ago)   10d
mariadb-deployment-5bf6d9f98c-wt7cc     1/1     Running   0              60m
wordpress-deployment-555685954b-77wb8   1/1     Running   0              107s
wordpress-deployment-555685954b-9g8rf   1/1     Running   0              107s

(5)访问测试

访问192.168.1.110:32000


http://www.ppmy.cn/embedded/115984.html

相关文章

[Unity Demo]从零开始制作空洞骑士Hollow Knight第四集:制作更多的敌人

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作敌人僵尸虫Zombie 1.公式化导入制作僵尸虫Zombie素材2.制作僵尸虫Zombie的Walker.cs状态机3.制作敌人僵尸虫的playmaker状态机二、制作敌人爬虫Climber…

音视频入门基础:FLV专题(3)——FLV header简介

一、引言 本文对FLV格式的FLV header进行简介&#xff0c;FLV文件的开头就是FLV header。 进行简介之前&#xff0c;请各位先从《音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载》下载FLV的官方文档《video_file_format_spec_v10_1.pdf》和…

微软推迟在MDM设备上启用OOBE强制更新 因为IT管理员反馈称缺乏控制

微软很久之前就计划在 Windows 10/11 OOBE 期间强制下载更新&#xff0c;即若检测到系统本身属于旧版本例如并未安装最新累积更新&#xff0c;则在 OOBE 期间强制下载最新累积更新并自动安装。这种更新方式已经在面向消费者的设备上启用&#xff0c;而上周微软则是在适用于企业…

智能算法躲避拥堵,高德企业用车上线“动态选路服务”为出行提效

近日&#xff0c;高德企业用车正式上线了一项全新服务——“动态选路服务”&#xff0c;旨在基于智能算法&#xff0c;动态规避突发拥堵路线&#xff0c;为企业用车用户提供更便捷、智能的出行方案。 以技术着眼细节&#xff0c;高德企业用车在帮助企业用车用户节约出行时间和…

力扣150题——位运算

位运算概述 位运算&#xff08;Bitwise Operation&#xff09;是计算机底层操作中的一种&#xff0c;用来直接对整数的二进制位进行操作。位运算通常速度很快&#xff0c;且消耗的内存较少&#xff0c;在处理一些特定问题&#xff08;如加密算法、图像处理、低级硬件编程等&…

【计算机网络篇】电路交换,报文交换,分组交换

本文主要介绍计算机网络中的电路交换&#xff0c;报文交换&#xff0c;分组交换&#xff0c;文中的内容是我认为的重点内容&#xff0c;并非所有。参考的教材是谢希仁老师编著的《计算机网络》第8版。跟学视频课为河南科技大学郑瑞娟老师所讲计网。 目录 &#x1f3af;一.划分…

跟着问题学12——GRU详解

1 GRU 1. 什么是GRU GRU&#xff08;Gate Recurrent Unit&#xff09;是循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;的一种。和LSTM&#xff08;Long-Short Term Memory&#xff09;一样&#xff0c;也是为了解决长期记忆 和反向传播中的梯度等问题…

掌上高考爬虫逆向分析

目标网站 aHR0cHM6Ly93d3cuZ2Fva2FvLmNuL3NjaG9vbC9zZWFyY2g/cmVjb21zY2hwcm9wPSVFNSU4QyVCQiVFOCU4RCVBRg 一、抓包分析 二、逆向分析 搜索定位加密参数 本地生成代码 var CryptoJS require(crypto-js) var crypto require(crypto);f "D23ABC#56"function v(t…