6.k8s 单个Pod运行多个容器实现基于LNMP的WordPr

2019-12-12  本文已影响0人  哆啦A梦_ca52
删除pod
root@master:/opt/k8s-data/yaml/web/linux37/tomcat-app1# kubectl delete -f tomcat-app1.yaml 
deployment.extensions "linux37-tomcat-app1-deployment" deleted
root@master:/opt/k8s-data/yaml/web/linux37/tomcat-app2# kubectl delete -f tomcat-app2.yaml 
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl delete -f nginx.yaml
root@master:/opt/k8s-data/yaml/linux37/zookeeper# kubectl delete -f zookeeper.yaml 
root@master:/opt/k8s-data/yaml/linux37/zookeeper/pv# kubectl delete -f .
root@master:/opt/k8s-data/yaml/linux37/jenkins# kubectl delete -f .
root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# kubectl delete -f .
root@master:/opt/k8s-data/yaml/linux37/dubbo# kubectl delete -f dubboadmin/dubboadmin.yaml 
root@master:/opt/k8s-data/yaml/linux37/dubbo# kubectl delete -f provider/provider.yaml 
root@master:/opt/k8s-data/yaml/linux37/dubbo# kubectl delete -f consumer/consumer.yaml 
root@master:/opt/k8s-data/yaml/linux37# kubectl delete -f redis/pv/redis-persistentvolume.yaml 
root@master:/opt/k8s-data/yaml/linux37/redis# kubectl delete -f redis.yaml 
修改build镜像
root@master:/opt/k8s-data/dockerfile/linux37/wordpress/php# vim build-command.sh 
#!/bin/bash
TAG=$1
docker build -t harbor.wyh.net/linux37/wordpress-php-5.6:${TAG} .
echo "镜像制作完成,即将上传至Harbor服务器"
sleep 1
docker push harbor.wyh.net/linux37/wordpress-php-5.6:${TAG}
echo "镜像上传完成"
修改dockerfile地址
root@master:/opt/k8s-data/dockerfile/linux37/wordpress/php# vim Dockerfile 
#PHP Base Image
FROM harbor.wyh.net/baseimages/centos:7.6.18102     
MAINTAINER  zhangshijie@wyh.net
RUN yum install -y  https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm && yum install  php56-php-fpm php56-php-mysql -y
ADD www.conf /opt/remi/php56/root/etc/php-fpm.d/www.conf
ADD run_php.sh /usr/local/bin/run_php.sh
EXPOSE 9000
打php镜像 版本为v1
root@master:/opt/k8s-data/dockerfile/linux37/wordpress/php# bash build-command.sh v1
镜像制作完成,即将上传至Harbor服务器
The push refers to repository [harbor.wyh.net/linux37/wordpress-php-5.6]
按照日期打nginx基础镜像
root@master:/opt/k8s-data/dockerfile/web/linux37/nginx# bash build-command.sh 2019_10_12_17-36-30
按照版本打镜像
root@master:/opt/k8s-data/dockerfile/web/linux37/nginx# bash build-command.sh v1.16.1
修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/wordpress/nginx# vim Dockerfile 
#Nginx Base Image
#FROM harbor.wyh.net/pub-images/nginx-base:v1.14.2 
FROM harbor.wyh.net/linux37/nginx:v1.16.1
ADD nginx.conf /apps/nginx/conf/nginx.conf
ADD run_nginx.sh /apps/nginx/sbin/run_nginx.sh
RUN mkdir -pv /home/nginx/wordpress
RUN chown nginx.nginx /home/nginx/wordpress/ -R
EXPOSE 80 443
CMD ["/apps/nginx/sbin/run_nginx.sh"]

root@master:/opt/k8s-data/dockerfile/linux37/wordpress/nginx# chmod a+x *.sh
修改build文件
root@master:/opt/k8sdata/dockerfile/linux37/wordpress/nginx# vim build-command.sh 
#!/bin/bash
TAG=$1
docker build -t harbor.wyh.net/linux37/wordpress-nginx:${TAG} .
echo "镜像制作完成,即将上传至Harbor服务器"
sleep 1
docker push  harbor.wyh.net/linux37/wordpress-nginx:${TAG}
echo "镜像上传完成"

root@master:/opt/k8s-data/dockerfile/linux37/wordpress/nginx# bash build-command.sh v1
创建共享目录
root@haproxy1:~# mkdir /data/k8sdata/linux37/wordpress
编辑pod地址
root@master:/opt/k8s-data/yaml/linux37/wordpress# cat  wordpress.yaml  | grep ^[^#]
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
labels:
  app: wordpress-app
name: wordpress-app-deployment
namespace: linux37
spec:
replicas: 1
selector:
  matchLabels:
    app: wordpress-app
template:
  metadata:
    labels:
      app: wordpress-app
  spec:
    containers:
    - name: wordpress-app-nginx
      image: harbor.wyh.net/linux37/wordpress-nginx:v1
      imagePullPolicy: Always
      ports:
      - containerPort: 80
        protocol: TCP
        name: http
      - containerPort: 443
        protocol: TCP
        name: https
      volumeMounts:
      - name: wordpress
        mountPath: /home/nginx/wordpress
        readOnly: false
    - name: wordpress-app-php
      image: harbor.wyh.net/linux37/wordpress-php-5.6:v1 
      #command: ["/apps/tomcat/bin/run_tomcat.sh"]
      #imagePullPolicy: IfNotPresent
      imagePullPolicy: Always
      ports:
      - containerPort: 9000
        protocol: TCP
        name: http
      volumeMounts:
      - name: wordpress
        mountPath: /home/nginx/wordpress 
        readOnly: false
    volumes:
    - name: wordpress
      nfs:
        server: 192.168.200.201
        path: /data/k8sdata/linux37/wordpress 
---
kind: Service
apiVersion: v1
metadata:
labels:
  app: wordpress-app
name: wordpress-app-spec
namespace: linux37
spec:
type: NodePort
ports:
- name: http
  port: 80
  protocol: TCP
  targetPort: 80
  nodePort: 30031
- name: https
  port: 443
  protocol: TCP
  targetPort: 443
  nodePort: 30033
selector:
  app: wordpress-app

创建pod
root@master:/opt/k8s-data/yaml/linux37/wordpress# kubectl apply -f wordpress.yaml 
查看
root@master:/opt/k8s-data/yaml/linux37/wordpress# kubectl get pod -n linux37 | grep wor
wordpress-app-deployment-6dc675bf58-zmnzq        2/2     Running       0          2m26s
查看pod里是否挂在上
[root@wordpress-app-deployment-6dc675bf58-zmnzq wordpress]# df -Th | grep 192
192.168.200.201:/data/k8sdata/linux37/wordpress nfs4      98G  7.4G   86G   8% /home/nginx/wordpress
编写php测试页
root@haproxy1:/data/k8sdata/linux37/wordpress# vim linux37.php
<?php
   phpinfo();
?>
修改php权限
[root@wordpress-app-deployment-6dc675bf58-zmnzq wordpress]# chown nginx.nginx linux37.php 

访问php页面


image.png
image.png

解压wordpress

root@haproxy1:/data/k8sdata/linux37/wordpress# tar xf wordpress-5.0.2-zh_CN.tar.gz 
移动不重要的文件
root@haproxy1:/data/k8sdata/linux37/wordpress# mv wordpress wordpress-5.0.2-zh_CN.tar.gz /tmp/

上一篇 下一篇

猜你喜欢

热点阅读