Kubernete(K8S)快速搭建个人博客WordPress

说明:本次实验数据库采用mysql容器镜像容器化部署,博客采用开源wordpress镜像容器化部署

基础镜像准备

1. 使用docker拉取mysql数据库镜像,wordpress镜像,也可以在创建pod时自动拉取

2. 拉取成功后使用docker image ls查看拉取的镜像

1、命令行创建

kubectl create namespace shiyan

1.1、查看创建的命名空间

kubectl get namespace/kubectl get ns

2、使用yaml文件创建

2.1、创建一个目录,在此目录中创建所需要的yaml文件

mkdir -p /tmp/docker

cd /tmp/docker/

2.2、创建yaml文件

vim namespace.yaml

apiVersion: v1 #ns版本

kind: Namespace #类型为Namespace

metadata:

name: shiyan #命名空间名称

labels:

name: shiyan-v1

2.3、启动namespace的yaml文件

创建wordpress_mysql yaml文件

代码:

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: mysql #为该Deployment设置key为app,value为mysql的标签

name: mysql

namespace: shiyan

spec:

replicas: 1

selector: #标签选择器

matchLabels: #选择包含标签app:mysql的资源

app: mysql

template: #这是选择或创建的Pod的模板

metadata: #Pod的元数据

labels: #Pod的标签,上面的selector即选择包含标签app:mysql的Pod

app: mysql

spec: #pod中部署

containers: #生成container,与docker中的container是同一种

– name: mysql

image: mysql:latest #使用mysql镜像

ports:

– containerPort: 3306 #开启mysql容器的3306端口可访问

env: #设置环境变量

– name: MYSQL_ROOT_PASSWORD #环境变量名称,数据库root密码

value: redhat@123 #环境变量的值 这是mysqlroot的密码

– name: MYSQL_DATABASE

value: wpdb

– name: MYSQL_USER

value: redhat

– name: MYSQL_PASSWORD

value: redhat@123

volumeMounts:

– name: db

mountPath: /var/lib/mysql #设置数据库pod挂载路径

volumes:

– name: db #和上面保持一致 这是本地的文件路径,上面是容器内部的路径

hostPath:

path: /var/lib/mysql #设置宿主机挂载目录

apiVersion: v1

kind: Service #类型

metadata:

name: mysql #service名称

namespace: shiyan

spec:

type: ClusterIP #service访问类型

selector:

app: mysql #标签选择器

ports:

– name: db-port

protocol: TCP

port: 3306

targetPort: 3306

2.1、启动yaml文件创建mysql服务

kubectl apply -f wordpress_mysql.yaml

2.2、查看mysql的pod信息

kubectl get pods mysql -n shiyan

2.3、查看mysql的svc地址,后面创建wordpress的yaml文件会用到

kubectl describe svc mysql -n shiyan

创建wordpress yaml文件

vim wordpress.yaml

代码:

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: wordpress

name: wordpress

namespace: shiyan

spec:

replicas: 1

selector:

matchLabels:

app: wordpress

template:

metadata:

labels:

app: wordpress

spec:

containers:

– image: wordpress:latest

name: wordpress

ports:

– containerPort: 80

env:

– name: WORDPRESS_DB_NAME #指定数据库得名称

value: wpdb

– name: WORDPRESS_DB_USER #指定数据库的用户

value: redhat

– name: WORDPRESS_DB_PASSWORD #指定数据库用户的密码

value: redhat@123

– name: WORDPRESS_DB_HOST #指定数据库主机的IP地址

value: 10.96.231.141:3306 #此处使用mysql的yaml创建的svc的IP地址

apiVersion: v1

kind: Service

metadata:

name: wordpress

namespace: shiyan

spec:

type: NodePort

selector:

app: wordpress

ports:

– port: 80

targetPort: 80

protocol: TCP

3.1、启动yaml文件创建wordpress服务

kubectl apply -f wordpress.yaml

3.2、查看wordpress的pod信息

3.3、查看service的信息

kubectl get svc -n shiyan

访问测试

windows上访问集群中宿主机节点的IP:30272

如下图访问成功,即wordpress创建成功

4.1、输入相应的参数,点击安装wordpress即可

4.2、安装成功

4.3、登录wordpress

原文链接:https://www.jianshu.com/p/f98257b7da00

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享