华为云智能社区wp
        【摘要】 #!/bin/bash# 安装 Helmtar -zxvf helm-v3.3.0-linux-amd64.tar.gzmv linux-amd64/helm /usr/bin# 创建 ChartMuseum 命名空间kubectl create namespace chartmuseum# 部署 ChartMuseum 的 YAML 文件cat <<EOF > chartmuseum-de...
    
    
    
    #!/bin/bash
# 安装 Helm
tar -zxvf helm-v3.3.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin
# 创建 ChartMuseum 命名空间
kubectl create namespace chartmuseum
# 部署 ChartMuseum 的 YAML 文件
cat <<EOF > chartmuseum-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: chartmuseum
  namespace: chartmuseum
spec:
  replicas: 1
  selector:
    matchLabels:
      app: chartmuseum
  template:
    metadata:
      labels:
        app: chartmuseum
    spec:
      containers:
        - name: chartmuseum
          image: registry.cn-hangzhou.aliyuncs.com/starsleap/chartmuseum:latest
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: chart-storage
              mountPath: /charts
          env:
            - name: STORAGE
              value: local
            - name: STORAGE_LOCAL_ROOTDIR
              value: /charts
      volumes:
        - name: chart-storage
          hostPath:
            path: /data/charts
            type: DirectoryOrCreate
EOF
cat <<EOF > chartmuseum-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: chartmuseum
  namespace: chartmuseum
spec:
  type: ClusterIP
  selector:
    app: chartmuseum
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
EOF
# 应用 ChartMuseum 的配置
kubectl apply -f chartmuseum-deployment.yaml
kubectl apply -f chartmuseum-service.yaml
# 解压 WordPress chart
tar -zxvf wordpress-13.0.23.tgz
# 修改 values.yaml,将命名空间改为 chartmuseum,并更改 service 类型
sed -i 's/type: LoadBalancer/type: NodePort/' wordpress/values.yaml
# 创建 WordPress 和 MariaDB 的 PV 目录及设置权限
mkdir -p /mnt/data/wordpress
chmod 777 /mnt/data/wordpress
mkdir -p /mnt/data/mariadb
chmod 777 /mnt/data/mariadb
# 创建 WordPress 和 MariaDB 的 PV YAML 文件
cat <<EOF > wordpress-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: wordpress-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: ""
  hostPath:
    path: "/mnt/data/wordpress"
EOF
cat <<EOF > mariadb-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mariadb-pv
spec:
  capacity:
    storage: 8Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: ""
  hostPath:
    path: "/mnt/data/mariadb"
EOF
# 应用 PV 的配置
kubectl apply -f wordpress-pv.yaml
kubectl apply -f mariadb-pv.yaml
# 安装 WordPress 到 chartmuseum 命名空间
helm install wordpress ./wordpress
# 获取 WordPress 服务的 NodePort 和 IP
export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo "WordPress URL: http://$NODE_IP:$NODE_PORT/"
sleep 55
kubectl port-forward --namespace default service/wordpress $(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress):80 &
curl -L 127.0.0.1:$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress)/wp-admin
            【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)