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
  ​
### 回答1: IAR for ARM是一款用于开发基于ARM处理器的嵌入式系统的集成开发环境。9.20是该软件的版本号。该软件提供了丰富的开发工具,包括编译器、调试器、性能分析器、代码优化器等,用于方便地开发ARM芯片的软件系统。 IAR for ARM的编译器支持ICC、EC++和Asm三种编程语言,能够生成高效、可靠、可移植的代码。它还提供了一系列调试工具,如 J-Link调试器和I-jet调试器,可以帮助开发人员快速调试和测试程序。 此外,IAR for ARM 9.20还提供了多种优化策略,包括大小优化、速度优化、调试优化等,可根据实际需求进行选择,从而使软件系统更加高效和可靠。此外,该软件还支持多种ARM处理器和外围器件,可适用于广泛的嵌入式系统开发。 总之,IAR for ARM 9.20是一款功能强大的嵌入式系统开发工具,可以大大提高开发效率和代码质量,方便开发人员进行ARM芯片的软件开发。 ### 回答2: IAR for ARM是一款可以支持现在市场上绝大多数ARM微处理器的专业编译软件,其最新版本是9.20版。它具有强大的编译能力和高度优化的代码生成功能,可以使ARM微处理器的性能得到最大的发挥。 IAR for ARM 9.20版相比较以往版本,具有更加快速、更稳定和更精确的代码调试功能,同时支持多核调试。另外,该版本还提供了丰富的代码库以及系统级的软件组件,方便用户更快速地开发ARM平台的应用程序。 除此之外,IAR for ARM 9.20还可以集成其他常用的开发工具,比如GIT、SVN等,使得团队协作更加便捷,同时也提高了软件开发的效率和可靠性。总之,IAR for ARM 9.20是一个适用于ARM平台开发的全面且强大的编译工具。 ### 回答3: IAR for ARM 9.20是一款面向ARM处理器的编译器。它支持从ARM7到Cortex-M架构,提供了一系列完整的开发工具链,包括C/C++编译器、链接器、调试器等。其性能强大,对代码进行了高度优化,能够让开发者在ARM处理器上开发高效的嵌入式应用程序。它可以在多种操作系统上运行,例如Windows、Linux和MacOS等。此外,IAR for ARM 9.20还具有高度集成的调试器功能,支持实时观察变量的值,跟踪程序的执行路径,并且能够快速定位错误。同时,该编译器还提供了丰富的编译器选项和优化技术,可以灵活地为不同的应用程序和目标处理器进行优化。总之,IAR for ARM 9.20是一款可靠的ARM处理器编译器,能够为嵌入式开发者提供高效的开发工具和丰富的优化选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值