引入分布式事务seata,有问题,日志问题,待解决
This commit is contained in:
1 parent
887512c5fe
commit
59fc017933
285 files changed
+3464
No files matched your search
@@ -0,0 +1,76 @@
|
||||
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
|
||||
|
||||
-- the table to store GlobalSession data
|
||||
CREATE TABLE "SEATA"."GLOBAL_TABLE"
|
||||
(
|
||||
"XID" VARCHAR2(128) NOT NULL,
|
||||
"TRANSACTION_ID" BIGINT,
|
||||
"STATUS" TINYINT NOT NULL,
|
||||
"APPLICATION_ID" VARCHAR2(32),
|
||||
"TRANSACTION_SERVICE_GROUP" VARCHAR2(32),
|
||||
"TRANSACTION_NAME" VARCHAR2(128),
|
||||
"TIMEOUT" INT,
|
||||
"BEGIN_TIME" BIGINT,
|
||||
"APPLICATION_DATA" VARCHAR2(2000),
|
||||
"GMT_CREATE" TIMESTAMP(0),
|
||||
"GMT_MODIFIED" TIMESTAMP(0),
|
||||
PRIMARY KEY ("XID")
|
||||
);
|
||||
|
||||
CREATE INDEX "IDX_GMT_MODIFIED_STATUS" ON "SEATA"."GLOBAL_TABLE"("GMT_MODIFIED" ASC,"STATUS" ASC);
|
||||
CREATE INDEX "IDX_TRANSACTION_ID" ON "SEATA"."GLOBAL_TABLE"("TRANSACTION_ID" ASC);
|
||||
|
||||
|
||||
-- the table to store BranchSession data
|
||||
CREATE TABLE "SEATA"."BRANCH_TABLE"
|
||||
(
|
||||
"BRANCH_ID" BIGINT NOT NULL,
|
||||
"XID" VARCHAR2(128) NOT NULL,
|
||||
"TRANSACTION_ID" BIGINT,
|
||||
"RESOURCE_GROUP_ID" VARCHAR2(32),
|
||||
"RESOURCE_ID" VARCHAR2(256),
|
||||
"BRANCH_TYPE" VARCHAR2(8),
|
||||
"STATUS" TINYINT,
|
||||
"CLIENT_ID" VARCHAR2(64),
|
||||
"APPLICATION_DATA" VARCHAR2(2000),
|
||||
"GMT_CREATE" TIMESTAMP(0),
|
||||
"GMT_MODIFIED" TIMESTAMP(0),
|
||||
PRIMARY KEY ("BRANCH_ID")
|
||||
);
|
||||
|
||||
CREATE INDEX "IDX_XID" ON "SEATA"."BRANCH_TABLE"("XID" ASC);
|
||||
|
||||
|
||||
-- the table to store lock data
|
||||
CREATE TABLE "SEATA"."LOCK_TABLE"
|
||||
(
|
||||
"ROW_KEY" VARCHAR2(128) NOT NULL,
|
||||
"XID" VARCHAR2(128),
|
||||
"TRANSACTION_ID" BIGINT,
|
||||
"BRANCH_ID" BIGINT NOT NULL,
|
||||
"RESOURCE_ID" VARCHAR2(256),
|
||||
"TABLE_NAME" VARCHAR2(32),
|
||||
"PK" VARCHAR2(36),
|
||||
"STATUS" TINYINT NOT NULL DEFAULT 0,
|
||||
"GMT_CREATE" TIMESTAMP(0),
|
||||
"GMT_MODIFIED" TIMESTAMP(0),
|
||||
PRIMARY KEY ("ROW_KEY")
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN "SEATA"."LOCK_TABLE"."STATUS" IS '0:locked ,1:rollbacking';
|
||||
|
||||
CREATE INDEX "IDX_BRANCH_ID" ON "SEATA"."LOCK_TABLE" ("BRANCH_ID" ASC);
|
||||
CREATE INDEX "IDX_STATUS" ON "SEATA"."LOCK_TABLE" ("STATUS" ASC);
|
||||
|
||||
CREATE TABLE "SEATA"."DISTRIBUTED_LOCK"
|
||||
(
|
||||
"LOCK_KEY" VARCHAR2(20) NOT NULL,
|
||||
"LOCK_VALUE" VARCHAR2(20) NOT NULL,
|
||||
"EXPIRE" BIGINT NOT NULL,
|
||||
PRIMARY KEY ("LOCK_KEY")
|
||||
);
|
||||
|
||||
INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('AsyncCommitting', ' ', 0);
|
||||
INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryCommitting', ' ', 0);
|
||||
INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryRollbacking', ' ', 0);
|
||||
INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('TxTimeoutCheck', ' ', 0);
|
||||
@@ -0,0 +1,73 @@
|
||||
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
|
||||
-- the table to store GlobalSession data
|
||||
CREATE TABLE IF NOT EXISTS `global_table`
|
||||
(
|
||||
`xid` VARCHAR(128) NOT NULL,
|
||||
`transaction_id` BIGINT,
|
||||
`status` TINYINT NOT NULL,
|
||||
`application_id` VARCHAR(32),
|
||||
`transaction_service_group` VARCHAR(32),
|
||||
`transaction_name` VARCHAR(128),
|
||||
`timeout` INT,
|
||||
`begin_time` BIGINT,
|
||||
`application_data` VARCHAR(2000),
|
||||
`gmt_create` DATETIME,
|
||||
`gmt_modified` DATETIME,
|
||||
PRIMARY KEY (`xid`),
|
||||
KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),
|
||||
KEY `idx_transaction_id` (`transaction_id`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
-- the table to store BranchSession data
|
||||
CREATE TABLE IF NOT EXISTS `branch_table`
|
||||
(
|
||||
`branch_id` BIGINT NOT NULL,
|
||||
`xid` VARCHAR(128) NOT NULL,
|
||||
`transaction_id` BIGINT,
|
||||
`resource_group_id` VARCHAR(32),
|
||||
`resource_id` VARCHAR(256),
|
||||
`branch_type` VARCHAR(8),
|
||||
`status` TINYINT,
|
||||
`client_id` VARCHAR(64),
|
||||
`application_data` VARCHAR(2000),
|
||||
`gmt_create` DATETIME(6),
|
||||
`gmt_modified` DATETIME(6),
|
||||
PRIMARY KEY (`branch_id`),
|
||||
KEY `idx_xid` (`xid`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
-- the table to store lock data
|
||||
CREATE TABLE IF NOT EXISTS `lock_table`
|
||||
(
|
||||
`row_key` VARCHAR(128) NOT NULL,
|
||||
`xid` VARCHAR(128),
|
||||
`transaction_id` BIGINT,
|
||||
`branch_id` BIGINT NOT NULL,
|
||||
`resource_id` VARCHAR(256),
|
||||
`table_name` VARCHAR(32),
|
||||
`pk` VARCHAR(36),
|
||||
`status` TINYINT NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',
|
||||
`gmt_create` DATETIME,
|
||||
`gmt_modified` DATETIME,
|
||||
PRIMARY KEY (`row_key`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_branch_id` (`branch_id`),
|
||||
KEY `idx_xid` (`xid`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `distributed_lock`
|
||||
(
|
||||
`lock_key` CHAR(20) NOT NULL,
|
||||
`lock_value` VARCHAR(20) NOT NULL,
|
||||
`expire` BIGINT,
|
||||
primary key (`lock_key`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
|
||||
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
|
||||
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
|
||||
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
|
||||
@@ -0,0 +1,72 @@
|
||||
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
|
||||
-- the table to store GlobalSession data
|
||||
CREATE TABLE global_table
|
||||
(
|
||||
xid VARCHAR2(128) NOT NULL,
|
||||
transaction_id NUMBER(19),
|
||||
status NUMBER(3) NOT NULL,
|
||||
application_id VARCHAR2(32),
|
||||
transaction_service_group VARCHAR2(32),
|
||||
transaction_name VARCHAR2(128),
|
||||
timeout NUMBER(10),
|
||||
begin_time NUMBER(19),
|
||||
application_data VARCHAR2(2000),
|
||||
gmt_create TIMESTAMP(0),
|
||||
gmt_modified TIMESTAMP(0),
|
||||
PRIMARY KEY (xid)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_status_gmt_modified ON global_table (status, gmt_modified);
|
||||
CREATE INDEX idx_transaction_id ON global_table (transaction_id);
|
||||
|
||||
-- the table to store BranchSession data
|
||||
CREATE TABLE branch_table
|
||||
(
|
||||
branch_id NUMBER(19) NOT NULL,
|
||||
xid VARCHAR2(128) NOT NULL,
|
||||
transaction_id NUMBER(19),
|
||||
resource_group_id VARCHAR2(32),
|
||||
resource_id VARCHAR2(256),
|
||||
branch_type VARCHAR2(8),
|
||||
status NUMBER(3),
|
||||
client_id VARCHAR2(64),
|
||||
application_data VARCHAR2(2000),
|
||||
gmt_create TIMESTAMP(6),
|
||||
gmt_modified TIMESTAMP(6),
|
||||
PRIMARY KEY (branch_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_xid ON branch_table (xid);
|
||||
|
||||
-- the table to store lock data
|
||||
CREATE TABLE lock_table
|
||||
(
|
||||
row_key VARCHAR2(128) NOT NULL,
|
||||
xid VARCHAR2(128),
|
||||
transaction_id NUMBER(19),
|
||||
branch_id NUMBER(19) NOT NULL,
|
||||
resource_id VARCHAR2(256),
|
||||
table_name VARCHAR2(32),
|
||||
pk VARCHAR2(36),
|
||||
status NUMBER(3) DEFAULT 0 NOT NULL,
|
||||
gmt_create TIMESTAMP(0),
|
||||
gmt_modified TIMESTAMP(0),
|
||||
PRIMARY KEY (row_key)
|
||||
);
|
||||
|
||||
comment on column lock_table.status is '0:locked ,1:rollbacking';
|
||||
CREATE INDEX idx_branch_id ON lock_table (branch_id);
|
||||
CREATE INDEX idx_lock_table_xid ON lock_table (xid);
|
||||
CREATE INDEX idx_status ON lock_table (status);
|
||||
|
||||
CREATE TABLE distributed_lock (
|
||||
lock_key VARCHAR2(20) NOT NULL,
|
||||
lock_value VARCHAR2(20) NOT NULL,
|
||||
expire DECIMAL(18) NOT NULL,
|
||||
PRIMARY KEY (lock_key)
|
||||
);
|
||||
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
|
||||
@@ -0,0 +1,72 @@
|
||||
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
|
||||
-- the table to store GlobalSession data
|
||||
CREATE TABLE IF NOT EXISTS public.global_table
|
||||
(
|
||||
xid VARCHAR(128) NOT NULL,
|
||||
transaction_id BIGINT,
|
||||
status SMALLINT NOT NULL,
|
||||
application_id VARCHAR(32),
|
||||
transaction_service_group VARCHAR(32),
|
||||
transaction_name VARCHAR(128),
|
||||
timeout INT,
|
||||
begin_time BIGINT,
|
||||
application_data VARCHAR(2000),
|
||||
gmt_create TIMESTAMP(0),
|
||||
gmt_modified TIMESTAMP(0),
|
||||
CONSTRAINT pk_global_table PRIMARY KEY (xid)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_status_gmt_modified ON public.global_table (status, gmt_modified);
|
||||
CREATE INDEX idx_transaction_id ON public.global_table (transaction_id);
|
||||
|
||||
-- the table to store BranchSession data
|
||||
CREATE TABLE IF NOT EXISTS public.branch_table
|
||||
(
|
||||
branch_id BIGINT NOT NULL,
|
||||
xid VARCHAR(128) NOT NULL,
|
||||
transaction_id BIGINT,
|
||||
resource_group_id VARCHAR(32),
|
||||
resource_id VARCHAR(256),
|
||||
branch_type VARCHAR(8),
|
||||
status SMALLINT,
|
||||
client_id VARCHAR(64),
|
||||
application_data VARCHAR(2000),
|
||||
gmt_create TIMESTAMP(6),
|
||||
gmt_modified TIMESTAMP(6),
|
||||
CONSTRAINT pk_branch_table PRIMARY KEY (branch_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_xid ON public.branch_table (xid);
|
||||
|
||||
-- the table to store lock data
|
||||
CREATE TABLE IF NOT EXISTS public.lock_table
|
||||
(
|
||||
row_key VARCHAR(128) NOT NULL,
|
||||
xid VARCHAR(128),
|
||||
transaction_id BIGINT,
|
||||
branch_id BIGINT NOT NULL,
|
||||
resource_id VARCHAR(256),
|
||||
table_name VARCHAR(32),
|
||||
pk VARCHAR(36),
|
||||
status SMALLINT NOT NULL DEFAULT 0,
|
||||
gmt_create TIMESTAMP(0),
|
||||
gmt_modified TIMESTAMP(0),
|
||||
CONSTRAINT pk_lock_table PRIMARY KEY (row_key)
|
||||
);
|
||||
|
||||
comment on column public.lock_table.status is '0:locked ,1:rollbacking';
|
||||
CREATE INDEX idx_branch_id ON public.lock_table (branch_id);
|
||||
CREATE INDEX idx_xid ON public.lock_table (xid);
|
||||
CREATE INDEX idx_status ON public.lock_table (status);
|
||||
|
||||
CREATE TABLE distributed_lock (
|
||||
lock_key VARCHAR(20) NOT NULL,
|
||||
lock_value VARCHAR(20) NOT NULL,
|
||||
expire BIGINT NOT NULL,
|
||||
CONSTRAINT pk_distributed_lock_table PRIMARY KEY (lock_key)
|
||||
);
|
||||
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
|
||||
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
|
||||
@@ -0,0 +1,80 @@
|
||||
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
|
||||
-- the table to store GlobalSession data
|
||||
CREATE TABLE [global_table]
|
||||
(
|
||||
[xid] nvarchar(128) NOT NULL,
|
||||
[transaction_id] bigint NULL,
|
||||
[status] tinyint NOT NULL,
|
||||
[application_id] nvarchar(32) NULL,
|
||||
[transaction_service_group] nvarchar(32) NULL,
|
||||
[transaction_name] nvarchar(128) NULL,
|
||||
[timeout] int NULL,
|
||||
[begin_time] bigint NULL,
|
||||
[application_data] nvarchar(2000) NULL,
|
||||
[gmt_create] datetime2 NULL,
|
||||
[gmt_modified] datetime2 NULL,
|
||||
PRIMARY KEY CLUSTERED ([xid])
|
||||
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [idx_gmt_modified_status]
|
||||
ON [global_table] (
|
||||
[gmt_modified],
|
||||
[status]
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [idx_transaction_id]
|
||||
ON [global_table] (
|
||||
[transaction_id]
|
||||
)
|
||||
GO
|
||||
|
||||
-- the table to store BranchSession data
|
||||
CREATE TABLE [branch_table]
|
||||
(
|
||||
[branch_id] bigint NOT NULL,
|
||||
[xid] nvarchar(128) NOT NULL,
|
||||
[transaction_id] bigint NULL,
|
||||
[resource_group_id] nvarchar(32) NULL,
|
||||
[resource_id] nvarchar(256) NULL,
|
||||
[branch_type] varchar(8) NULL,
|
||||
[status] tinyint NULL,
|
||||
[client_id] nvarchar(64) NULL,
|
||||
[application_data] nvarchar(2000) NULL,
|
||||
[gmt_create] datetime2 NULL,
|
||||
[gmt_modified] datetime2 NULL,
|
||||
PRIMARY KEY CLUSTERED ([branch_id])
|
||||
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [idx_xid]
|
||||
ON [branch_table] (
|
||||
[xid]
|
||||
)
|
||||
GO
|
||||
|
||||
-- the table to store lock data
|
||||
CREATE TABLE [lock_table]
|
||||
(
|
||||
[row_key] nvarchar(128) NOT NULL,
|
||||
[xid] nvarchar(128) NULL,
|
||||
[transaction_id] bigint NULL,
|
||||
[branch_id] bigint NOT NULL,
|
||||
[resource_id] nvarchar(256) NULL,
|
||||
[table_name] nvarchar(32) NULL,
|
||||
[pk] nvarchar(36) NULL,
|
||||
[gmt_create] datetime2 NULL,
|
||||
[gmt_modified] datetime2 NULL,
|
||||
PRIMARY KEY CLUSTERED ([row_key])
|
||||
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [idx_branch_id]
|
||||
ON [lock_table] (
|
||||
[branch_id]
|
||||
)
|
||||
GO
|
||||
@@ -0,0 +1,10 @@
|
||||
version: "3"
|
||||
services:
|
||||
seata-server:
|
||||
image: seataio/seata-server
|
||||
hostname: seata-server
|
||||
ports:
|
||||
- "8091:8091"
|
||||
environment:
|
||||
- SEATA_PORT=8091
|
||||
- STORE_MODE=file
|
||||
@@ -0,0 +1,22 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
@@ -0,0 +1,5 @@
|
||||
apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
description: Seata Server
|
||||
name: seata-server
|
||||
version: 1.0.0
|
||||
@@ -0,0 +1,15 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "seata-server.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "seata-server.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "seata-server.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "seata-server.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:80
|
||||
{{- end }}
|
||||
@@ -0,0 +1,56 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "seata-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "seata-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "seata-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "seata-server.labels" -}}
|
||||
app.kubernetes.io/name: {{ include "seata-server.name" . }}
|
||||
helm.sh/chart: {{ include "seata-server.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "seata-server.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
{{ default (include "seata-server.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,71 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- if .Values.namespace }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
{{- end}}
|
||||
name: {{ include "seata-server.name" . }}
|
||||
labels:
|
||||
{{ include "seata-server.labels" . | indent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "seata-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "seata-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8091
|
||||
protocol: TCP
|
||||
{{- if .Values.volume }}
|
||||
volumeMounts:
|
||||
{{- range .Values.volume }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{- if .Values.env }}
|
||||
env:
|
||||
{{- if .Values.env.seataIp }}
|
||||
- name: SEATA_IP
|
||||
value: {{ .Values.env.seataIp | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.env.seataPort }}
|
||||
- name: SEATA_PORT
|
||||
value: {{ .Values.env.seataPort | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.env.seataEnv }}
|
||||
- name: SEATA_ENV
|
||||
value: {{ .Values.env.seataEnv }}
|
||||
{{- end }}
|
||||
{{- if .Values.env.seataConfigName }}
|
||||
- name: SEATA_CONFIG_NAME
|
||||
value: {{ .Values.env.seataConfigName }}
|
||||
{{- end }}
|
||||
{{- if .Values.env.serverNode }}
|
||||
- name: SERVER_NODE
|
||||
value: {{ .Values.env.serverNode | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.env.storeMode }}
|
||||
- name: STORE_MODE
|
||||
value: {{ .Values.env.storeMode }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.volume }}
|
||||
volumes:
|
||||
{{- range .Values.volume }}
|
||||
- name: {{ .name }}
|
||||
hostPath:
|
||||
path: {{ .hostPath}}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "seata-server.fullname" . }}
|
||||
labels:
|
||||
{{ include "seata-server.labels" . | indent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "seata-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "seata-server.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{ include "seata-server.labels" . | indent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "seata-server.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
||||
@@ -0,0 +1,17 @@
|
||||
replicaCount: 1
|
||||
|
||||
namespace: default
|
||||
|
||||
image:
|
||||
repository: seataio/seata-server
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
service:
|
||||
type: NodePort
|
||||
port: 30091
|
||||
|
||||
env:
|
||||
seataPort: "8091"
|
||||
storeMode: "file"
|
||||
serverNode: "1"
|
||||
@@ -0,0 +1,49 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: seata-server
|
||||
namespace: default
|
||||
labels:
|
||||
k8s-app: seata-server
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- port: 8091
|
||||
nodePort: 30091
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
k8s-app: seata-server
|
||||
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: seata-server
|
||||
namespace: default
|
||||
labels:
|
||||
k8s-app: seata-server
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: seata-server
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: seata-server
|
||||
spec:
|
||||
containers:
|
||||
- name: seata-server
|
||||
image: docker.io/seataio/seata-server:latest
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: SEATA_PORT
|
||||
value: "8091"
|
||||
- name: STORE_MODE
|
||||
value: file
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8091
|
||||
protocol: TCP
|
||||
Reference in new issue
Block a user