当前位置: 首页 > wzjs >正文

一个域名对应多个网站企业代运营公司

一个域名对应多个网站,企业代运营公司,wordpress 评论楼层,旅游网站框架声明 1.此贴仅供参考,请根据自身需求在测试环境测试和修改。 安装准备 1.获取对应的安装包和授权,并将授权和安装包放在同一个目录下 2.docekr已配置远程仓库 3.提前拉取jdk的镜像(这里配置了使用openjdk:8) 安装 将以下内容复制到k8s_…

声明

1.此贴仅供参考,请根据自身需求在测试环境测试和修改。

安装准备

1.获取对应的安装包和授权,并将授权和安装包放在同一个目录下

在这里插入图片描述
2.docekr已配置远程仓库

在这里插入图片描述

3.提前拉取jdk的镜像(这里配置了使用openjdk:8)
在这里插入图片描述

安装

将以下内容复制到k8s_deploy_TongWeb7049m6.sh里:

#!/bin/bash
# TongWeb Kubernetes 全自动部署脚本(支持镜像仓库)# 使用说明:
# 文件准备统一在同级目录下:
# /部署目录/
# ├── k8s_deploy_TongWeb.sh  部署脚本
# ├── license.dat      产品授权
# └──TongWeb7.0.4.9_M6_Enterprise_Linux.tar.gz  安装包
# 执行权限:chmod +x k8s_deploy_TongWeb7049m6.sh
# 运行部署:sudo ./k8s_deploy_TongWeb7049m6.sh# 配置信息
APP_NAME="tongweb"
APP_VERSION="7.0.4.9_M6_Enterprise_Linux"
TAR_PACKAGE="TongWeb7.0.4.9_M6_Enterprise_Linux.tar.gz"
INSTALL_DIR="/opt/tongweb-7049m6"
NAMESPACE="tongweb7049m6cloud-namespace"
IMAGE_NAME="tongweb:7049m6"
K8S_DIR="/tmp/tongweb-k8s-manifests"# 镜像仓库配置(根据实际情况修改)
REGISTRY_URL="192.168.10.108:5000"      # 镜像仓库地址
REGISTRY_PROJECT="tongweb7-cloud-7049m6"            # 仓库中的项目/命名空间名称(若无可留空)
REGISTRY_USER="admin"            # 仓库用户名
REGISTRY_PASSWORD="Harbor12345"  # 仓库密码
APP_VERSION="7.0.4.9_M6_Enterprise_Linux"              # 需在脚本中定义版本变量# 完整镜像地址格式:
REMOTE_IMAGE_NAME="${REGISTRY_URL}/${REGISTRY_PROJECT}/tongweb:${APP_VERSION}-$(date +%Y%m%d%H%M)"# 初始化环境
init_env() {# 创建临时目录mkdir -p "$K8S_DIR"# 检查必需命令for cmd in docker kubectl tar; doif ! command -v $cmd &> /dev/null; thenecho "错误:必需命令 $cmd 未找到!"exit 1fidone
}# 解压安装包
extract_package() {if [ ! -f "$TAR_PACKAGE" ]; thenecho "错误:安装包 $TAR_PACKAGE 不存在!"exit 1fiecho "正在解压安装包..."tar -zxvf "$TAR_PACKAGE" -C /optmv "/opt/TongWeb${APP_VERSION}" "$INSTALL_DIR"cp license.dat "$INSTALL_DIR"
}# 配置Kubernetes
setup_kubernetes() {# 创建命名空间if ! kubectl get namespace "$NAMESPACE" &> /dev/null; thenkubectl create namespace "$NAMESPACE"fi# 创建ConfigMapkubectl create configmap license7049m6 \--from-file=license.dat \-n "$NAMESPACE"
}# 构建并推送镜像
build_and_push_image() {# 基础镜像配置(可根据需要修改)local BASE_IMAGE="openjdk:8"# 生成Dockerfileecho "正在生成Dockerfile..."cat > "$INSTALL_DIR/Dockerfile" <<EOF
FROM ${BASE_IMAGE}# 时区配置
ENV TZ=Asia/Shanghai \\LANG=C.UTF-8# 拷贝TongWeb
#ADD tongweb /opt/TongWeb
ADD . /opt/TongWeb# 暴露端口(按需求改)
EXPOSE 8080 8443 9060# 启动命令
#ENTRYPOINT ["/opt/TongWeb/bin/startservernohup.sh"]
# 启动命令
ENTRYPOINT ["/opt/TongWeb/bin/startserver.sh"]RUN echo "[$(date '+%Y-%m-%d %H:%M:%S')] TongWeb ${APP_VERSION} 镜像构建成功"
EOF# 构建本地镜像echo "正在构建本地镜像..."if ! docker build -t "$IMAGE_NAME" -f "$INSTALL_DIR/Dockerfile" "$INSTALL_DIR"; thenecho "镜像构建失败!"exit 1fi# 标记并推送镜像echo "正在标记镜像..."docker tag "$IMAGE_NAME" "$REMOTE_IMAGE_NAME"echo "登录镜像仓库..."if ! docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" "$REGISTRY_URL"; thenecho "镜像仓库登录失败!"exit 1fiecho "正在推送镜像到仓库..."if ! docker push "$REMOTE_IMAGE_NAME"; thenecho "镜像推送失败!"exit 1fiecho "镜像推送成功:$REMOTE_IMAGE_NAME"
}# 生成部署文件
generate_manifests() {# 生成Deploymentcat > "$K8S_DIR/deployment.yaml" <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: $APP_NAME
spec:selector:matchLabels:app: $APP_NAMEreplicas: 1template:metadata:labels:app: $APP_NAMEspec:containers:- name: $APP_NAMEimage: $REMOTE_IMAGE_NAME  # 使用仓库镜像地址imagePullPolicy: Always    # 总是从仓库拉取env:- name: CONFIG_REMOTE_ENABLEvalue: "false"- name: ENV_TYPEvalue: "cloud"ports:- name: httpcontainerPort: 8080- name: httpscontainerPort: 8443- name: admincontainerPort: 9060volumeMounts:- name: log-volumemountPath: /opt/TongWeb/logs- name: autodeploy-volumemountPath: /opt/TongWeb/autodeploy- name: licensemountPath: /opt/TongWeb/license.datsubPath: license.datvolumes:- name: log-volumehostPath:path: /home/work/logstype: DirectoryOrCreate- name: autodeploy-volumehostPath:path: /home/work/autodeploytype: DirectoryOrCreate- name: licenseconfigMap:name: license7049m6
EOF# 生成Servicecat > "$K8S_DIR/service.yaml" <<EOF
apiVersion: v1
kind: Service
metadata:name: ${APP_NAME}srv
spec:selector:app: $APP_NAMEtype: NodePortports:- name: httpport: 8088targetPort: 8088nodePort: 30808  # 修改为有效范围内的端口- name: httpsport: 8443targetPort: 8443nodePort: 32443  # 修改为有效范围内的端口- name: adminport: 9060targetPort: 9060nodePort: 30906  # 修改为有效范围内的端口
EOF
}# 部署应用到集群
deploy_to_cluster() {echo "正在部署应用..."kubectl apply -f "$K8S_DIR/deployment.yaml" -n "$NAMESPACE"kubectl apply -f "$K8S_DIR/service.yaml" -n "$NAMESPACE"# 等待Pod就绪echo -n "等待Pod启动"local retry=0local max_retries=30  # 把重试次数增加为30local sleep_time=15   # 增加检查间隔为10秒while [ $retry -lt $max_retries ]; dolocal pod_status=$(kubectl get pod -n "$NAMESPACE" -l app=$APP_NAME -o jsonpath='{.items[0].status.phase}')local image_pulled=$(kubectl get pod -n "$NAMESPACE" -l app=$APP_NAME -o jsonpath='{.items[0].status.containerStatuses[0].state}')if [ "$pod_status" == "Running" ]; thenecho -e "\nPod 已正常运行!"kubectl get pod -n "$NAMESPACE"return 0elif [[ "$image_pulled" == *"ErrImagePull"* ]]; thenecho -e "\n错误:镜像拉取失败!请检查:"echo "1. 镜像地址是否正确:$REMOTE_IMAGE_NAME"echo "2. 仓库认证信息是否正确"exit 1fiecho -n "."((retry++))sleep $sleep_timedoneecho "错误:Pod 启动超时!"kubectl describe pod -n "$NAMESPACE" -l app=$APP_NAMEexit 1
}# 主流程
main() {init_envextract_packagesetup_kubernetesbuild_and_push_imagegenerate_manifestsdeploy_to_clusterecho ""echo "═"*50echo "TongWeb 7.0.4.9_M6 部署完成!"echo "管理控制台: http://<节点IP>:30906/console"echo "管理控制台初始账号:thanos"echo "管理控制台初始密码:thanos123.com"echo "如部署应用,访问: http://<节点IP>:30808"echo "管理命令:"echo "  kubectl get pod -n $NAMESPACE"echo "  kubectl logs -f <pod名称> -n $NAMESPACE"echo "═"*50
}# 执行主流程
main

执行以下指令:

# 执行权限:
chmod +x k8s_deploy_TongWeb7049m6.sh
# 运行部署:
sudo ./k8s_deploy_TongWeb7049m6.sh

执行后,使用以下指令查看日志:

 kubectl get pod -n tongweb7049m6cloud-namespacekubectl logs -f <pod名称> -n tongweb7049m6cloud-namespace

在这里插入图片描述
在这里插入图片描述
如果安装有问题,需要删掉pod重新操作,可执行以下指令:

#先查pod名称
kubectl get pod -n tongweb7049m6cloud-namespace
#删除pod
kubectl delete pod pod名 -n tongweb7049m6cloud-namespace
#删除跟license相关的configmap
kubectl delete configmap license -n tongweb7049m6cloud-namespace
#删除命名空间(前提是该命名空间只有tongweb相关的资源和配置)
kubectl delete namespace tongweb7049m6cloud-namespace

文章转载自:

http://qV2bhiK0.nffwL.cn
http://HyTDX9yr.nffwL.cn
http://RNJNlU1f.nffwL.cn
http://mUHmpEeq.nffwL.cn
http://I5D9wExw.nffwL.cn
http://jqcirRHN.nffwL.cn
http://9vW5ARKh.nffwL.cn
http://VFIPmYm1.nffwL.cn
http://ODaJ73nR.nffwL.cn
http://peEfAUzl.nffwL.cn
http://J0mfnnPb.nffwL.cn
http://Mlo2Spx3.nffwL.cn
http://u1NwnIBC.nffwL.cn
http://Pk7ZMR1e.nffwL.cn
http://kE7fCc3D.nffwL.cn
http://lHMLf0cd.nffwL.cn
http://6DjgKs0x.nffwL.cn
http://aLMfjedt.nffwL.cn
http://NItiFv52.nffwL.cn
http://0WdpA24c.nffwL.cn
http://reXgbUSp.nffwL.cn
http://podUghVU.nffwL.cn
http://Tw4gdSYf.nffwL.cn
http://GJBiCvKK.nffwL.cn
http://pf0N7MRX.nffwL.cn
http://0PJsNFqi.nffwL.cn
http://AYAH4Ou3.nffwL.cn
http://XyTG3Exj.nffwL.cn
http://yOrtoijl.nffwL.cn
http://r2DM5CJ6.nffwL.cn
http://www.dtcms.com/wzjs/624749.html

相关文章:

  • 已有网站备案更换idc 多久株洲网站建设技术公司
  • 顺德网站建海曙网站制作
  • 深圳建设集团网站首页免费企业自助建站信息发布网
  • 网站开发直播软件巴中做网站的公司
  • 天津网站建设设计费用网站建设高端设计
  • 网站建设类论文选题公众号文章采集wordpress
  • 免费免费网站模板下载做网站的人
  • 做音乐网站的目的和意义响应式网站做优化好吗
  • 网站群建设指导意见网站管理系统后台不能发布文章了
  • 抚州seo排名烟台网站排名优化
  • 西安网站建设地址景区网站建设的重要性
  • 网站防黑客入侵做相关防御树莓派可以用wordpress
  • 哪类小网站容易做同声传译公司网站建设
  • 包头网站建设制作百度竞价排名推广
  • 云南火电建设有限公司网站网站开发培训价格
  • 利用第三方做网站永久发布地址网站建设综合实践 教材
  • 营销型网站的重要特点蒙文网站开发
  • 做国外订单的网站电脑卸载不了wordpress
  • 网站职业培训学校重庆正云环境网页制作
  • app优化网站开发开发商违约延期交房可以退房吗
  • 惠州市惠城区规划建设局网站Wordpress官网网址
  • 哪里有做网站公司的网站建设质量体系审核指导
  • 郑州免费做网站比较好的能组数学卷的网站做教案的
  • 如何看到网站的建设时间网站建设上的新闻
  • 网站及推广翻译公司网站建设多少钱
  • 漳州手机网站建设公司企业网站建设网站制作
  • 专做排名的网站宁波网站推广代运营
  • 苏州建设工程招标在哪个网站网站开发不兼容ie8
  • 济南网站建设方案书6.网站开发流程是什么
  • 太原网站建设平台长春网长春网站建设站建设