当前位置: 首页 > article >正文

9.20-使用k8s部署wordpress项目

部署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.kler.cn/a/312863.html

相关文章:

  • dapp获取钱包地址,及签名
  • PHP API如何使用access_token开放接口有效期
  • 使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏
  • 智能零售柜商品识别
  • AI赋能电商:创新应用提升销售与用户体验
  • 高性能分布式缓存Redis-高可用部署
  • FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate区别
  • 如何限制任何爬虫爬取网站的图片
  • VScode相关问题与解决
  • C#笔记14 异步编程Async,await,task类
  • Java语言程序设计基础篇_编程练习题***18.32 (游戏:骑士的旅途)
  • 排序---冒泡排序、堆排序
  • etcd三节点,其中一个坏掉了的恢复办法
  • Codeforces Round 973 (Div. 2) F1. Game in Tree (Easy Version)(思维题 博弈)
  • 以更高分辨率和体内方式了解 lncRNA 的生物发生和功能
  • neo4j(spring) 使用示例
  • spark-scala使用与安装(一)
  • Ubuntu 与Uboot网络共享资源
  • Lua编程语言简介与应用
  • 【python设计模式4】结构型模式1
  • 专利管理系统如何确保专利资产持续有效?
  • (蓝桥杯)STM32G431RBT6(TIM4-PWM)
  • 【结构型】树形结构的应用王者,组合模式
  • setImmediate() vs setTimeout() 在 JavaScript 中的区别
  • 全志A133 android10 适配EC20 4G模块
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-Gradio快速体验(十四)