k8s环境部署与管理PHP项目实战

Wordpress是PHP语言开发的博客平台,是运行在典型的LNMP/LAMP环境中,本案例需要将Wordpress部署在 kubernetes 集群中,并实现外部访问。

项目部署思路

  1. 集群服务对外提供访问,需要通过Ingress代理发布域名。
  2. 搭建私有镜像仓库,用于存储自己构建的项目镜像。
  3. 集群中容器数据持久化,本案例通过NFS作为后端存储。
  4. 部署项目所需的数据库,并配置好项目连接数据库的信息。
  5. 项目运行在什么环境中,需要将运行环境打包到镜像中。
  6. 在k8s中部署项目,并通过Ingress发布项目。

部署Ingress-nginx代理

ingress-nginx相当于一个7层的负载均衡器,集群中的程序可以通过Ingress发布域名进行访问。

Ingress-nginx文件下载地址 (由于网络原因可能无法下载):

https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/baremetal/deploy.yaml

在master01节点创建ingress-nginx

kubectl apply -f ingress-nginx.yaml

查看ingress-nginx空间Pod状态

kubectl get pod -n ingress-nginx

NAME                                  READY   STATUS
ingress-nginx-admission-create-p2428  0/1     Completed 
ingress-nginx-admission-patch-w9tqj   0/1     Completed
ingress-nginx-controller-fbf8-s7sj9   1/1     Running

部署Harbor镜像仓库

IP地址

主机名称

硬件配置

192.168.0.7

harbor

1核心CPU/1G内存/20G磁盘

  1. 安装Docker

Harbor仓库以容器方式运行,需要先安装好docker

yum install yum-utils -y

添加阿里云docker-ce仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker软件包

yum install docker-ce-20.10.9 -y

启动docker

systemctl enable docker --now

  1. 准备docker-compose程序文件

Harbor仓库的启动、关闭需要通过docker-compose管理

下载地址:

wget https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64

添加执行权限

chmod +x docker-compose

移动文件至 /usr/bin 目录

mv docker-compose /usr/bin

验证 docker-compose 命令是否可以i正常使用

docker-compose --version

  1. 安装Harbor仓库

下载地址:

wget https://github.com/goharbor/harbor/releases/download/v2.5.1/harbor-offline-installer-v2.5.1.tgz

解压Harbor压缩包

tar -xf harbor-v2.5.1.tgz

进入解压后的harbor目录

cd harbor

导入Harbor镜像文件

docker load -i harbor.v2.5.1.tar.gz

修改harbor配置文件名称

mv harbor.yml.tmpl harbor.yml

修改 harbor.yml配置文件

hostname: 192.168.0.7           #Harbor主机IP地址    

http:                           #访问方式为http(不用修改)
  port: 80                      #默认端口(不用修改)

#https:                         #注释https访问方式(需要有效证书才可以使用)
# port: 443                     #注释https端口
 
# certificate: /root/harbor/6864844_kubemsb.com.pem  #注释证书文件
# private_key: /root/harbor/6864844_kubemsb.com.key  #注释证书密钥文件
 
harbor_admin_password: 12345 #admin密码

执行当前路径下的 install.sh 脚本进行安装

./install.sh

#出现以下提示表示安装完成
...
✔ ----Harbor has been installed and started successfully.----

本机指定 Harbor 仓库地址,否则无法访问Harbor仓库

{							
  "insecure-registries": ["http://192.168.0.7"]
}

重启 docker 使配置生效

systemctl restart docker

重启 docker 后,Harbor 相关容器并不会自动重启,需要手动重启

docker-compose down
docker-compose up -d

浏览器访问Harbor页面:http://192.168.0.7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值