9.20-使用k8s部署wordpress项目

news2024/9/21 12:40:30

部署wordpress项目

部署mariadb

  
  # 启动docker进程systemctl start docker
  ​
  # 拉取三个镜像
  ​
  docker pull nginx:alpine
  docker pull wordpress:latest
  docker pull mariadb:latest
  ​
  # 保存三个镜像
  ​
  cd
  docker save -o wordpress.tar wordpress:latest
  docker save -o mariadb.tar mariadb:latest
  ​
  # 上传到其他的起点主机
  ​
  cd
  scp wordpress.tar root@192.168.2.77:~
  scp mariadb.tar root@192.168.2.88:~
  ​
  scp wordpress.tar root@192.168.2.77:~
  scp mariadb.tar root@192.168.2.88:~
  ​
  # 起到k8s-node01和k8s-node02
  ​
  cd
  ctr -n k8s.io images import wordpress.tar --platform=linux/amd64
  ctr -n k8s.io images import mariadb.tar --platform=linux/amd64
  ​
  ​
  ​
  # 创建目录
  ​
  mkdir wp
  ​
  cd wp
  ​
  ls
  ​
  [root@k8s-master wp]#vim mariadb-cm.yaml
  ​
  apiVersion: v1
  kind: ConfigMap
  metadata:
          name: mariadb-cm
          labels:
                  cm: mariadb-cm
  data:
  ​
          DATABASE: db
          USER: wp
          PASSWORD: "123"
          ROOT_PASSWORD: "123"
  ​
  ​
  vim mariadb-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
          name: mariadb-deployment
          labels:
                  app: mariadb
  spec:
                  replicas: 1
                  selector:
                          matchLabels:
                                  app: mariadb
                  template:
                           metadata:
                                  labels:
                                          app: mariadb
                           spec:
                                           containers:
                                           -       name: mariadb
                                                   image: docker.io/library/mariadb:latest
                                                   imagePullPolicy: Never
                                                   ports:
                                                   -       name: mariadbport
                                                           containerPort: 3306
                                                   envFrom:
                                                   -      prefix: "MARIADB_"
                                                          configMapRef:
                                                                  name: mariadb-cm
  ​
  [root@k8s-master wp]# kubectl create -f mariadb-cm.yaml
  configmap/mariadb-cm created
  ​
  [root@k8s-master wp]# kubectl get cm
  NAME               DATA   AGE
  kube-root-ca.crt   1      8d
  mariadb-cm         4      14s
              
  [root@k8s-master wp]# kubectl create -f mariadb-deployment.yaml
  deployment.apps/mariadb-deployment created
  ​
  [root@k8s-master wp]# kubectl get po
  NAME                                  READY   
  mariadb-deployment-55bc54f6f5-7vl5l   1/1     Running            0          2s
  ​
  [root@k8s-master wp]# kubectl get po -o wide
  NAME                                  READY   
  mariadb-deployment-55bc54f6f5-7vl5l   1/1     Running            0          4m44s   172.16.85.227   k8s-node01   <none>           <none>
  ​
  ​
  [root@k8s-master wp]# yum -y install mariadb
  ​
  [root@k8s-master wp]# mysql -h172.16.85.227 -uwp -p123
  Welcome to the MariaDB monitor.  Commands end with ; or \g.
  Your MariaDB connection id is 3
  Server version: 11.5.2-MariaDB-ubu2404 mariadb.org binary distribution
  ​
  Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  ​
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  ​
  MariaDB [(none)]> show databases;
  +--------------------+
  | Database           |
  +--------------------+
  | db                 |
  | information_schema |
  +--------------------+
  2 rows in set (0.00 sec)
  ​
  MariaDB [(none)]> exit;
  Bye
  ​
  ​
  [root@k8s-master wp]# docker ps
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  [root@k8s-master wp]# docker run -itd mariadb:latest 
  a67736ad26f3cab4251238196c322df6a7ca1b862f44d7eb0249a7e549a62e4f
  [root@k8s-master wp]# docker ps --all
  CONTAINER ID   IMAGE            COMMAND                   CREATED         STATUS                     PORTS     NAMES
  a67736ad26f3   mariadb:latest   "docker-entrypoint.s…"   9 seconds ago   Exited (1) 7 seconds ago             eager_hopper
  ​
  [root@k8s-master wp]# docker run -tid -e MARIADB_ROOT_PASSWORD=123 mariadb:latest
  f635b88a030a4cc2422abbff12990c7091057c0e19ae16280687199cfed08291
  [root@k8s-master wp]# docker ps --all
  CONTAINER ID   IMAGE            COMMAND                   CREATED              STATUS                          PORTS      NAMES
  f635b88a030a   mariadb:latest   "docker-entrypoint.s…"   19 seconds ago       Up 18 seconds                   3306/tcp   funny_raman
  a67736ad26f3   mariadb:latest   "docker-entrypoint.s…"   About a minute ago   Exited (1) About a minute ago              eager_hopper
  ​
  ​
  [root@k8s-master wp]# mysql -h172.16.85.227 -uroot -p123
  Welcome to the MariaDB monitor.  Commands end with ; or \g.
  Your MariaDB connection id is 4
  Server version: 11.5.2-MariaDB-ubu2404 mariadb.org binary distribution
  ​
  Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  ​
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  ​
  MariaDB [(none)]> show databases;
  +--------------------+
  | Database           |
  +--------------------+
  | db                 |
  | information_schema |
  | mysql              |
  | performance_schema |
  | sys                |
  +--------------------+
  5 rows in set (0.00 sec)
  ​
  MariaDB [(none)]> exit;
  Bye
  ​
  ​

部署wordpress

  [root@k8s-master wp]# vim wordpress-cm.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
          name: wordpress-cm
          labels:
                  cm: wordpress-cm
  data:
          NAME: "db"
          USER: "wp"
          PASSWORD: "123"
          HOST: "172.16.85.227"
  ​
  [root@k8s-master wp]# kubectl create -f wordpress-cm.yaml 
  configmap/wordpress-cm created
  [root@k8s-master wp]# kubectl get cm
  NAME               DATA   AGE
  kube-root-ca.crt   1      9d
  mariadb-cm         4      29m
  wordpress-cm       4      110s
  ​
  [root@k8s-master wp]# vim wordpress-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
          name: wordpress
          labels:
                  app: wordpress
  spec:
          replicas: 3
          selector:
                  matchLabels:
                          app: wordpress
          template:
                  metadata:
                          labels:
                                  app: wordpress
                  spec:
                          containers:
                          -       name: wordpress
                                  image: docker.io/library/wordpress:latest
                                  imagePullPolicy: Never
                                  ports:
                                  -        name: wpport
                                           containerPort: 80
                                  envFrom:
                                  -        prefix: "WORDPRESS_DB_"
                                           configMapRef:
                                                  name: wordpress-cm
  ​
  [root@k8s-master wp]# kubectl create -f wordpress-deployment.yaml 
  deployment.apps/wordpress created
  ​
  [root@k8s-master wp]# kubectl get po
  NAME                                  READY   STATUS             RESTARTS      AGE
  cluster-test0-58689d5d5d-7c49r        1/1     Running            1 (32m ago)   92m
  haha-96567ff6f-r2mh5                  0/1     ImagePullBackOff   0             100m
  mariadb-deployment-55bc54f6f5-7vl5l   1/1     Running            0             42m
  wordpress-7695bd58f4-9qddf            1/1     Running            0             92s
  wordpress-7695bd58f4-skrdj            1/1     Running            0             92s
  wordpress-7695bd58f4-wt4nk            1/1     Running            0             92s
  ​
  [root@k8s-master wp]# kubectl get po -o wide
  NAME                                  READY   STATUS             RESTARTS      AGE    IP              NODE         NOMINATED NODE   READINESS GATES
  cluster-test0-58689d5d5d-7c49r        1/1     Running            1 (32m ago)   92m    172.16.58.249   k8s-node02   <none>           <none>
  haha-96567ff6f-r2mh5                  0/1     ImagePullBackOff   0             100m   172.16.85.223   k8s-node01   <none>           <none>
  mariadb-deployment-55bc54f6f5-7vl5l   1/1     Running            0             42m    172.16.85.227   k8s-node01   <none>           <none>
  wordpress-7695bd58f4-9qddf            1/1     Running            0             105s   172.16.58.250   k8s-node02   <none>           <none>
  wordpress-7695bd58f4-skrdj            1/1     Running            0             105s   172.16.85.228   k8s-node01   <none>           <none>
  wordpress-7695bd58f4-wt4nk            1/1     Running            0             105s   172.16.85.229   k8s-node01   <none>           <none>
  [root@k8s-master wp]# curl 172.16.58.250
  [root@k8s-master wp]# kubectl  port-forward deployments/wordpress 8080:80 
  [root@k8s-master wp]# nohup kubectl port-forward deployments/wordpress 8080:80 &
  [root@k8s-master wp]# netstat -lnput|grep 8080
  tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      84356/kubectl       
  tcp6       0      0 ::1:8080                :::*                    LISTEN      84356/kubectl       
  ​

部署nginx容器

  [root@k8s-master wp]# vim nginx.conf
  ​
  server {
          listen 80;
          default_type text/html;
          location / { 
                  proxy_http_version 1.1;
                  proxy_set_header Host $host;
                  proxy_pass http://127.0.0.1:8080;
          }
  ​
  }
  ​
  [root@k8s-master wp]# docker run -itd -p80:80  -v ./nginx.conf:/etc/nginx/conf.d/default.conf nginx:alpine 
  579352ef549590d1a9d8bffec9fada0d9abffbcbdfa8db2ee211c667eb9729bb
  [root@k8s-master wp]# docker ps
  CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                               NAMES
  579352ef5495   nginx:alpine   "/docker-entrypoint.…"   5 seconds ago   Up 5 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   vibrant_carson
  ​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2152342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从EtherCAT到PROFINET,迈威通信带你解锁工业网络!

工业自动化领域&#xff0c;你选对交换机了吗? 在工业自动化和控制系统中&#xff0c;工业以太网协议扮演着至关重要的角色。它们确保了数据在设备间的高效、实时和可靠传输。随着工业4.0的兴起&#xff0c;对不同设备与系统间互联互通的需求不断增加&#xff0c;这就要求现代…

【24华为杯数模研赛赛题思路已出】国赛D题思路丨附参考代码丨免费分享

2024年华为杯研赛C题解题思路 D 题 大数据驱动的地理综合问题 地理系统是自然、人文多要素综合作用的复杂巨系统[1-2]&#xff0c;地理学家常用地理综合的方式对地理系统进行主导特征的表达[3]。如以三大阶梯概括中国的地形特征&#xff0c;以秦岭—淮河一线和其它地理区划的…

数据结构-2.9.双链表

一.双链表与单链表的对比&#xff1a; 二.双链表的初始化(带头结点)&#xff1a; 1.图解&#xff1a; 2.代码演示&#xff1a; #include<stdio.h> #include<stdlib.h> ​ //定义双链表结构体 typedef struct DNode {int data;struct DNode *prior;//前驱指针即指…

初学者的15个Python实用库

Python 是初学者易于学习的一门语言&#xff0c;并且提供了大量的第三方库。超过230,000个用户贡献的包使得Python功能强大且广受欢迎。在本文中&#xff0c;我重点介绍了15个最有用的包&#xff0c;详细说明了它们的功能和特性。 这里插播一条粉丝福利&#xff0c;如果你正在…

ThreadX源码:Cortex-A7的tx_thread_irq_nesting_end(嵌套中断结束动作).s汇编代码分析

0 参考资料 Cortex M3权威指南(中文).pdf&#xff08;可以参考ARM指令集用法&#xff09; 1 前言 tx_thread_irq_nesting_end.S是用来实现Cortex-A7 IRQ嵌套中断的结束函数实现的汇编文件。 2 源码分析 源码如下&#xff1a; 1.#ifdef TX_ENABLE_FIQ_SUPPORT 2.DISABLE_INT…

AIoT应用开发:给机器人装上‘眼睛‘,接入CV能力,实现人脸识别

最近新入手了一台 arm 开发板&#xff0c;希望打造一款有温度、有情怀的陪伴式 AI 对话机器人。 大体实现思路如下&#xff1a; 前几篇&#xff0c;给板子装上LLM 大脑、耳朵和嘴巴装上&#xff1a; 如何在手机端部署大模型&#xff1f;手机端跑大模型&#xff1a;Ollma/ll…

Windows通过网线传文件

文章目录 网线网络中看不到另一台计算机Nginx参考文献 网线 两台电脑用网线连接 电脑A 控制面板\网络和 Internet\网络和共享中心 → 更改适配器设置 → 右键以太网&#xff08;未识别的网络&#xff09; → 属性 → Internet 协议版本 4 (TCP/IPv4) 属性 → 使用下面的 IP …

【vmware】vmware中手动安装vmwaretools

问题: vmware中点击安装vmwaretools时出现如下&#xff1a; VMware Tools 不再随旧版客户机操作系统的 VMware Workstation 一起提供。 请从 https://packages-prod.broadcom.com/tools/frozen/windows/winPreVista.iso 下载&#xff0c;并参阅 https://knowledge.broadcom.co…

机器学习笔记(一)初识机器学习

1.定义 机器学习是一门多学科交叉专业&#xff0c;涵盖概率论知识&#xff0c;统计学知识&#xff0c;近似理论知识和复杂算法知识&#xff0c;使用计算机作为工具并致力于真实实时的模拟人类学习方式&#xff0c;并将现有内容进行知识结构划分来有效提高学习效率。 机器学习有…

2024年开放式蓝牙耳机十大排名震撼揭晓!哪款开放式耳机是音质王者?

​耳机市场上&#xff0c;有线入耳式、无线蓝牙入耳式和开放式耳机三足鼎立&#xff0c;各展风采。有线入耳式耳机虽然连接稳定&#xff0c;但线缆易缠绕&#xff0c;佩戴不够稳固&#xff1b;无线入耳式耳机虽然剪断了线的束缚&#xff0c;但长时间使用可能会引起耳朵不适。相…

人家90年代就尝试过的模式:我们所热衷的“数科公司”

在数字经济时代的浪潮中&#xff0c;央国企及一些大型集团企业作为经济发展的中流砥柱&#xff0c;正积极顺应时代潮流&#xff0c;加速数字化转型步伐。通过深度挖掘与整合内部资源&#xff0c;一批以数字经济为核心业务的“数科公司”应运而生&#xff0c;并迅速壮大&#xf…

SpringBoot设置mysql的ssl连接

因工作需要&#xff0c;mysql连接需要开启ssl认证&#xff0c;本文主要讲述客户端如何配置ssl连接。 开发环境信息&#xff1a; SpringBoot&#xff1a; 2.0.5.RELEASE mysql-connector-java&#xff1a; 8.0.18 mysql version&#xff1a;8.0.18 一、检查服务端是否开启ssl认…

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 目录 Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 一、简单介绍 二、装饰者模式&#xff08;Decorator Pattern&#xff09; 1、什么时候使用装…

OpenAI或于9月24日发布ChatGPT高级语音模式

&#x1f989; AI新闻 &#x1f680; OpenAI或于9月24日发布ChatGPT高级语音模式 摘要&#xff1a;科技媒体报道&#xff0c;OpenAI计划在9月24日进一步推广ChatGPT的高级语音模式&#xff0c;预计将正式发布。该模式于7月向部分ChatGPT Plus用户开放&#xff0c;提供更为真实…

心理辅导平台的构建:Spring Boot技术解析

3 系统分析 3.1可行性分析 在进行可行性分析时&#xff0c;我们通常根据软件工程里方法&#xff0c;通过四个方面来进行分析&#xff0c;分别是技术、经济、操作和法律可行性。因此&#xff0c;在基于对目标系统的基本调查和研究后&#xff0c;对提出的基本方案进行可行性分析。…

云栖大会Day1:云应用开发平台 CAP 来了

2024 云栖大会开幕&#xff0c;在大会第一天&#xff0c;阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板&#xff0c;可以极速体验&#xff0c;并且具备更低的成本优势以及灵活组装等特点&#xff0c;成为广大开发者与企业必备的一站式应用开发平…

芯片验证板卡设计原理图:372-基于XC7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证平台

基于XC7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证平台 一、板卡概述 基于V7的高性能PCIe信号处理板&#xff0c;北京太速科技板卡选用Xilinx 公司Virtex7系列FPGA XC7VX690T-2FFG1761C为处理芯片&#xff0c;板卡提供两个标准FMC插槽&#xff0c;适用于…

R18 NES 之SSB-less SCell operation for inter-band CA

在TR 21.918 Summary of Rel-18 Work Items 中可以看到SSB-less SCell operation for inter-band CA 是Network energy savings for NR 的一部分,其中还包括cell DTX/DRX 等等其他内容。 网络节能是 5G/NR 成功的关键,可以减少对环境的影响(温室气体排放)并节省运营成本。R…

全网首创开源:基于视频、物联、AI服务一体化解决方案

BasicLab-AIoT 引领创新智慧视觉物联网云平台&#xff0c;无界融合物联网技术、流媒体摄像头实时传输与AI人工智能解析&#xff0c;开启智能监控与数据分析新纪元。 我们不仅实现了设备的互联互通&#xff0c;更通过深度整合高清流媒体视频流与前沿AI算法&#xff0c;为摄像头…

Hive企业级调优[3]—— Explain 查看执行计划

Explain 查看执行计划 Explain 执行计划概述 EXPLAIN 命令呈现的执行计划由一系列 Stage 组成。这些 Stage 之间存在依赖关系&#xff0c;每一个 Stage 可能对应一个 MapReduce Job 或者一个文件系统的操作等。如果某 Stage 对应了一个 MapReduce Job&#xff0c;则该 Job 在 …