栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

k8s部署nexus3

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s部署nexus3

因为nexus需要持久化数据,所以需要指定好每次启动该容器的挂载地址,否则你应用重启后挂载地址更新了。 1. 创建deploment.yaml和service.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nexus   
  name: ssx-nexus-dm
  namespace: ssx  #这个是我自己创建的命名空间
spec:
  replicas: 1 
  selector: #标签选择器,与上面的标签共同作用
    matchLabels: #选择包含标签app:nexus的资源
       app: nexus
  template: #这是选择或创建的Pod的模板
    metadata: #Pod的元数据
      labels: #Pod的标签,上面的selector即选择包含标签app:nexus的Pod
        app: nexus
    spec: #期望Pod实现的功能(即在pod中部署)
      containers: #生成container,与docker中的container是同一种
      - name: ssx-nexus-c
        image: node102:5000/ssx-nexus:v1.0 #这是我私有仓库 可以在此找合适的镜像包https://registry.hub.docker.com/r/sonatype/nexus3/tags
        ports:
        - containerPort: 8081  # 开启本容器的8081端口可访问
        volumeMounts:
        - mountPath: /nexus-data   #这是nexus容器内保存数据的默认路径
          name: c-v-path-nexus
      volumes:
      - name: c-v-path-nexus #和上面保持一致 这是本地的文件路径,上面是容器内部的路径
        hostPath:
          path: /root/apps/k8s/for_docker_volume/nexus  #此路径需要事先创建 这是宿主机的路径 并且此路径需要添加访问权限,任何人都能访问 不然pod创建失败 chmod 777 -R *
      nodeSelector: #把此pod部署到指定的node标签上
        kubernetes.io/hostname: node101


---

apiVersion: v1
kind: Service
metadata:
  labels:
   app: nexus
  name: ssx-nexus-sv
  namespace: ssx
spec:
  ports:
  - port: 9000 #我暂时不理解,这个设置 明明没用到?
    name: ssx-nexus-last
    protocol: TCP
    targetPort: 8081 # 容器nginx对外开放的端口 上面的dm已经指定了
    nodePort: 30100 #外网访问的端口
  selector:
    app: nexus
  type: NodePort 
2. 执行kubectl命令进行创建启动

kubectl create -f ./刚刚创建的文件yaml

3. 等待完成 大概10分钟 如果还是没启动可以看下pod日志

完成后访问:
http://node101:30100/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/733589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号