千家信息网

weblogic的部署方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"weblogic的部署方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先是Web
千家信息网最后更新 2026年11月03日weblogic的部署方法

本篇内容介绍了"weblogic的部署方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  • 首先是Weblogic的Docker部署。

请仔细阅读:https://my.oschina.net/u/3867634/blog/2246865

至此,我们已经构建了oracle/weblogic:12.2.1.3-developer镜像,为了方便后续使用,我们可以搭建Harbor本地私有镜像仓库,将次镜像push至仓库中。

  • 搭建Harbor仓库

请参阅:https://github.com/goharbor/harbor/blob/release-1.6.0/docs/installation_guide.md

中文版:https://blog.csdn.net/aixiaoyang168/article/details/73549898

搭建完成后,kubernetes节点中需要修改insecure-registry:

//编辑配置docker-option配置文件vi /etc/systemd/system/docker.service.d/docker-options.conf//在文件中添加 --insecure-registry=172.17.20.25 [Service]Environment="DOCKER_OPTS=--insecure-registry=10.233.0.0/18 --insecure-registry=172.17.20.25 --graph=/var/lib/docker  --log-opt max-size=50m --log-opt max-file=5 \--iptables=false"//重启dockersystemctl daemon-reloadsystemctl restart docker

然后,将构建好的镜像push至仓库中:

//给image打标签docker tag oracle/weblogic:12.1.3-developer 172.17.20.25/oracle/weblogic:12.1.3-developer//push至172.17.20.25docker push 172.17.20.25/oracle/weblogic:12.1.3-developer

现在,可以登录至http://172.17.20.25查看镜像

拉取镜像:

    docker pull 172.17.20.25/oracle/weblogic:12.2.1.3-developer
  • kubernetes集群中部署Weblogic

    拉取docker-images代码:

$ git clone https://github.com/oracle/docker-images.git//进入wls-k8s-domain目录[root@localhost ~]# cd docker-images/OracleWebLogic/samples/wls-k8s-domain/[root@localhost wls-k8s-domain]# lsbuild.sh  container-scripts  Dockerfile  k8s  README.md

构建wls-k8s-domain镜像:

$ docker build -t wls-k8s-domain .

将镜像tag打成172.17.20.25/oracle/wls-k8s-domain:1.0后push至Harbor以方便k8s节点拉取。

再修改k8s/wls-admin.yml为如下所示:

apiVersion: apps/v1beta1kind: Deploymentmetadata:  name: admin-serverspec:  selector:    matchLabels:      app: admin-server  replicas: 1  template:    metadata:      labels:        app: admin-server    spec:      podAntiAffinity:          requiredDuringSchedulingIgnoredDuringExecution:          - labelSelector:              matchExpressions:              - key: app                operator: In                values:                - admin-server            topologyKey: "kubernetes.io/hostname"      containers:      - name: admin-server#image修改为harbor上的名字        image: 172.17.20.25/oracle/wls-k8s-domain:1.0        imagePullPolicy: IfNotPresent        command: ["sh"]        args: ["/u01/oracle/startadmin.sh"]        readinessProbe:            httpGet:              path: /weblogic/ready              port: 8001            initialDelaySeconds: 15            timeoutSeconds: 5        ports:        - containerPort: 8001        env:        - name: WLUSER          valueFrom:            secretKeyRef:              name: wlsecret              key: username        - name: WLPASSWORD          valueFrom:            secretKeyRef:              name: wlsecret              key: password        volumeMounts:        - mountPath: /u01/wlsdomain          name: domain-home      volumes:      - name: domain-home        persistentVolumeClaim:          claimName: wlserver-pvc-1---apiVersion: v1kind: Servicemetadata:  name: admin-server  labels:    app: admin-serverspec:  type: NodePort  selector:    app: admin-server  ports:    - name: client      protocol: TCP      port: 8001      targetPort: 8001      nodePort: 30007  selector:    app: admin-server

修改k8s/wls-stateful.yml为:

apiVersion: apps/v1beta1 # for versions before 1.6.0 use extensions/v1beta1kind: StatefulSetmetadata:  name: managed-serverspec:  serviceName: wls-subdomain  selector:    matchLabels:      app: managed-server  replicas: 2  template:    metadata:      name: ms      labels:        app: managed-server    spec:#将managed-server与admin-server部署在同一个node上      affinity:        podAffinity:          requiredDuringSchedulingIgnoredDuringExecution:          - labelSelector:              matchExpressions:              - key: app                operator: In                values:                - admin-server            topologyKey: "kubernetes.io/hostname"      subdomain: wls-subdomain      containers:      - name: managed-server        image: 172.17.20.25/oracle/wls-k8s-domain:1.0        imagePullPolicy: IfNotPresent        command: ["sh"]        args: ["/u01/oracle/startms.sh"]        readinessProbe:            httpGet:              path: /weblogic/ready              port: 8011            initialDelaySeconds: 15            timeoutSeconds: 5        ports:        - containerPort: 8011        env:        - name: JAVA_OPTIONS          value: "-Dweblogic.StdoutDebugEnabled=true"        - name: USER_MEM_ARGS          value: "-Xms64m -Xmx256m "        - name: MY_POD_IP          valueFrom:            fieldRef:              fieldPath: status.podIP        - name: MY_POD_NAME          valueFrom:            fieldRef:              fieldPath: metadata.name        - name: DNS_DOMAIN_NAME          value: "wls-subdomain"        - name: WLUSER          valueFrom:            secretKeyRef:              name: wlsecret              key: username        - name: WLPASSWORD          valueFrom:            secretKeyRef:              name: wlsecret              key: password        volumeMounts:        - mountPath: /u01/wlsdomain          name: domain-home        - mountPath: /u01/filestores          name: filestore-data      volumes:      - name: domain-home        persistentVolumeClaim:          claimName: wlserver-pvc-1      - name: filestore-data        persistentVolumeClaim:          claimName: wlserver-pvc-2---apiVersion: v1 # headless service required for statefulSetkind: Servicemetadata:  name: wls-subdomain  labels:    app: managed-serverspec:  ports:  - name: client    port: 8011    protocol: TCP    targetPort: 8011  clusterIP: None  selector:    app: managed-server---apiVersion: v1kind: Servicemetadata:  name: wls-service  labels:    app: managed-serverspec:  type: NodePort  ports:  - name: client    port: 8011    protocol: TCP    targetPort: 8011    nodePort: 30009  selector:    app: managed-server

修改k8s/pv.yml

kind: PersistentVolumeapiVersion: v1metadata:  name: pv1  labels:    app: wls-domainspec:  storageClassName: manual  capacity:    storage: 10Gi  accessModes:    - ReadWriteMany  persistentVolumeReclaimPolicy: Recycle  # Retain, Recycle, Delete  hostPath:#path填上本地目录    path: "/home/oracle/pv/pv1"  #nfs:    #server:     #path: ---kind: PersistentVolumeapiVersion: v1metadata:  name: pv2  labels:    app: wls-domainspec:  storageClassName: manual  capacity:    storage: 10Gi  accessModes:    - ReadWriteMany  persistentVolumeReclaimPolicy: Recycle  # Retain, Recycle, Delete  hostPath:    path: "/home/oracle/pv/pv2"  #nfs:    #server:     #path: ---kind: PersistentVolumeapiVersion: v1metadata:  name: pv3  labels:    app: wls-domainspec:  storageClassName: manual  capacity:    storage: 10Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Recycle  # Retain, Recycle, Delete  hostPath:    path: "/home/oracle/pv/pv3"  #nfs:    #server:     #path: 

NOTE:hostPath下所填的目录需有777权限。

IMPORTANT:在执行创建脚本之前,必须确保有一个用户的UID和GID为1000:1000。

然后,依次执行以下命令:

$ kubectl create -f  k8s/secrets.yml$ kubectl create -f  k8s/pv.yml$ kubectl create -f  k8s/pvc.yml$ kubectl create -f  k8s/wls-admin.yml$ kubectl create -f  k8s/wls-stateful.yml

至此,一个带有两个managed-server的domain便创建好了。

$ kubectl get allNAME                               READY     STATUS    RESTARTS   AGEpo/admin-server-1238998015-f932w   1/1       Running   0          11mpo/managed-server-0                1/1       Running   0          11mpo/managed-server-1                1/1       Running   0          8mNAME                CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGEsvc/admin-server    10.102.160.123          8001:30007/TCP   11msvc/kubernetes      10.96.0.1                443/TCP          39dsvc/wls-service     10.96.37.152            8011:30009/TCP   11msvc/wls-subdomain   None                     8011/TCP         11mNAME                          DESIRED   CURRENT   AGEstatefulsets/managed-server   2         2         11mNAME                  DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGEdeploy/admin-server   1         1         1            1           11mNAME                         DESIRED   CURRENT   READY     AGErs/admin-server-1238998015   1         1         1         11m

现在可以登录http:IP:30007/console访问控制台,默认账号为:weblogic,密码为:weblogic1。

在weblogic中部署的应用访问端口为30009。

  • 改进

我们可以制作chart来一键安装,步骤如下:

1.创建名为hello-world的charts

helm create weblogic

2.将k8s/目录放入weblogic/templates目录下

注:helloworld程序简单,程序不需引入相关依赖,也不需要传入参数。charts提供了版本控制,引入依赖,传参等配置文件。

3.打包tar

helm package weblogic

4.在本地创建charts文件夹,并将打包的tar文件移入,生成index.yaml

mv weblogic-0.1.0.tgz charts/

helm serve --repo-path ./charts

5、安装chart

helm install weblogic

"weblogic的部署方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

镜像 文件 目录 仓库 配置 方法 内容 更多 知识 程序 至此 节点 控制 登录 实用 学有所成 接下来 两个 中文版 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 疫情对互联网科技公司影响 互联网品科技 智慧科技互联网 科技互联网公司logo 上游互联网科技 湖北码尼互联网科技有限公司电话 互联网科技革命什么开始 互联网科技与大数据专业 开一家科技互联网公司需要多少钱 本届互联网博览会上的黑科技 互联网科技如何创业 徐州市互联网科技有限公司 科技互联网的核心竞争力 锡山区互联网智能科技产品供应 互联网科技股为什么大涨 悟空问答互联网科技 数字互联网科技有限公司 互联网科技博主张洲 河南商务圈互联网科技有限公司 天津市摩尔互联网科技 美国互联网黑科技 互联网金融 科技创新 互联网软件和科技 互联网科技公司有风险吗 允成互联网科技有限公司融资 国大互联网教育科技有限公司薪资 杭州披云加互联网科技有限公司 互联网时代科技型公司的机会 悟空问答互联网科技
0