温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用java kustomize

发布时间:2021-11-17 13:37:44 来源:亿速云 阅读:120 作者:iii 栏目:大数据

本篇内容主要讲解“如何使用java kustomize”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用java kustomize”吧!

下载安装

  • Windows下载

  • Linux:

curl -s "https://raw.githubusercontent.com/ \
kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash

linux环境下,为方便命令行调用,可将文件移动到PATH变量下的bin目录:sudo mv kustomize /usr/local/bin

  • 其他方式参考官方文档

为什么使用

  1. 统一规范容器编排文件。

  2. 复用通用配置。

  3. 分环境管理编排文件。

  4. 专注于环境变量,存储卷等本地化的配置,无需关心端口,监控,发布等细节。

使用方式

使用前提:理解base编排的概念:base编排在远程git仓库,提供基础的约定好的配置,如端口,监控,健康监测,环境变量等。各应用程序以base编排为基础,自定义其余的内容。

1.创建目录结构

  • 在项目根目录创建kustomize文件夹,其中包含lan,test,prod三个子文件夹(内网,线上测试,正式环境),

  • 每个文件夹下必须有一个kustomization.yaml 文件,可选的env.yaml用于配置环境变量,volume.yaml用于配置存储卷。

  • 运行脚本可根据情况自己配置。

如何使用java kustomize

2.修改kustomization.yaml配置说明

以下以学服系统(lmss-system)中的lan环境为例子

如何使用java kustomize

  1. ref的值为lan/test/master,分别对应内网,测试,正式环境,表示引用base编排为基础。

  2. 用于替换标签app的name,即 labels下app: java 替换为app: lmss-system。

  3. 用于替换metadata的name,同理。

  4. 用于替换容器名称,同理。

  5. 镜像地址,同理。

  6. 用于声明扩展的自定义文件,图中示例是用于修改环境变量的env.yml,存储卷volume.yml。

综上,在同一个项目,三种不同的环境下,1处,5处不同,env.yml和volume.yml内容不同,2,3,4,6处配置可相同。

3.增加自定义配置(可选的)

自定义配置用于更新及增加base编排的配置,可以声明独立的yml文件,然后在上图中第6处列出。自定义的yml需要配置metadata的name和containers的name,用以匹配并更新。在base编排中,metadata的name为java,第一个containers的name为java。可以按照如下格式来填写自定义字段:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: java
spec:
  template:
    spec:
      # 自定义编排,如声明存储卷
      containers:
        - name: java
          # 自定义编排,如配置环境变量

4.生成最终的编排文件

使用kustomize build <path> 命令,生成最终编排文件。以下是按照上图文件结构,生成lan环境下编排。

kustomize build lan

附录:base编排的deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: java
  name: java
spec:
  selector:
    matchLabels:
      app: java
  template:
    metadata:
      labels:
        app: java
    spec:
      containers:
      - image: java
        name: java
        ports:
        - containerPort: 8080
          name: web
        - containerPort: 8081
          name: actuator
      imagePullSecrets:
        - name: docker-secret

到此,相信大家对“如何使用java kustomize”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI