wordpress

🍔k8s-部署实例(mysql+wordpress)

以下实现两个deployment实现部署wordpress

🥨准备环境

初始准备
#拉取镜像
docker pull mysql:5.6
docker pull wordpress:4.8-apache

🌭创建secert

#在k8s集群中使用literal格式创建secert名称为mysql-pass键值对为password=000000
kubectl create secret generic mysql-pass --from-literal=password=000000

🍟mysql部分

apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: wordpress
  name: wordpress-mysql
spec:
  clusterIP: None
  ports:
    port: 3306
  selector:
    app: wordpress-mysql
    tier: mysql
  type: ClusterIP
status:
  loadBalancer: {}

---
apiVersion: v1 
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
spec:
  accessModes: 
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: wordpress-mysql
  name: wordpress-mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress-mysql
  template:
    metadata:
      labels:
        app: wordpress-mysql
        tier: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: mysql
          mountPath: /var/lib/mysql
        env:
          - name: MYSQL_ROOT_PASSWORD
            valueFrom:
              secretKeyRef:
                name: mysql-pass
                key: password
          - name: MYSQL_DATABASE
            value: wordpress
        ports:
          - containerPort: 3306
            name: mysql
      volumes:
      - name: mysql
        persistentVolumeClaim:
          claimName: mysql-pv-claim

🧀创建wordpress

cat wordpres.yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: wordpress
  name: wordpress
spec:
  ports:
  - name: 80-80
    nodePort: 80
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: wordpress
  type: NodePort
---
apiVersion: v1 
kind: PersistentVolumeClaim
metadata:
  name: wp-pv-claim
spec:
  accessModes: 
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: wordpress
  name: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: wordpress
    spec:

      containers:
      - image: wordpress:4.8-apache
        name: wordpress
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: wp
          mountPath: /var/www/html
        env:
          - name: WORDPRESS_DB_HOST
            value: wordpress-mysql
          - name: WORDPRESS_DB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: mysql-pass
                key: password
          - name: WORDPRESS_DB_USER
            value: root
        ports:
          - containerPort: 80
            name: wp
      volumes:
      - name: wp
        persistentVolumeClaim:
          claimName: wp-pv-claim

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值