华为云智能社区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)