kuma

Форк
0
/
run.mk 
81 строка · 3.4 Кб
1
EXAMPLE_DATAPLANE_MESH ?= default
2
EXAMPLE_DATAPLANE_NAME ?= example
3
EXAMPLE_DATAPLANE_INBOUND_PORT ?= 8000
4
EXAMPLE_DATAPLANE_SERVICE_PORT ?= 10011
5
EXAMPLE_DATAPLANE_SERVICE_TAG ?= echo-service
6
ENVOY_ADMIN_PORT = $(shell expr $(EXAMPLE_DATAPLANE_INBOUND_PORT) - 8000 + 9901)
7

8
define EXAMPLE_DATAPLANE_RESOURCE
9
type: Dataplane
10
mesh: $(EXAMPLE_DATAPLANE_MESH)
11
name: $(EXAMPLE_DATAPLANE_NAME)
12
networking:
13
  address: 127.0.0.1
14
  admin:
15
    port: $(ENVOY_ADMIN_PORT)
16
  inbound:
17
  - port: $(EXAMPLE_DATAPLANE_INBOUND_PORT)
18
    servicePort: $(EXAMPLE_DATAPLANE_SERVICE_PORT)
19
    serviceProbe:
20
       tcp: {}
21
    tags:
22
      kuma.io/service: $(EXAMPLE_DATAPLANE_SERVICE_TAG)
23
      kuma.io/protocol: http
24
endef
25

26
POSTGRES_MODE = standard
27
CP_STORE = memory
28
CP_ENV += KUMA_ENVIRONMENT=universal KUMA_MULTIZONE_ZONE_NAME=zone-1 KUMA_STORE_TYPE=$(CP_STORE)
29
ifeq ($(CP_STORE),postgres)
30
CP_ENV += KUMA_STORE_POSTGRES_HOST=localhost \
31
	KUMA_STORE_POSTGRES_PORT=15432 \
32
	KUMA_STORE_POSTGRES_USER=kuma \
33
	KUMA_STORE_POSTGRES_PASSWORD=kuma \
34
	KUMA_STORE_POSTGRES_DB_NAME=kuma
35
endif
36
ifeq ($(POSTGRES_MODE),tls)
37
CP_ENV += KUMA_STORE_POSTGRES_TLS_MODE=verifyCa \
38
	KUMA_STORE_POSTGRES_TLS_CERT_PATH=$(TOOLS_DIR)/postgres/certs/postgres.client.crt \
39
	KUMA_STORE_POSTGRES_TLS_KEY_PATH=$(TOOLS_DIR)/postgres/certs/postgres.client.key \
40
	KUMA_STORE_POSTGRES_TLS_CA_PATH=$(TOOLS_DIR)/postgres/certs/rootCA.crt
41
endif
42
CP_ENV += $(EXTRA_CP_ENV)
43

44
export EXAMPLE_DATAPLANE_RESOURCE
45

46
NUM_OF_DATAPLANES ?= 100
47
NUM_OF_SERVICES ?= 80
48
KUMA_CP_ADDRESS ?= grpcs://localhost:5678
49

50
.PHONY: run/postgres/start
51
run/postgres/start: ## Dev: start Postgres for Control Plane with initial schema (Use POSTGRES_MODE=tls to enable TLS)
52
	$(CP_ENV) POSTGRES_MODE=$(POSTGRES_MODE) docker-compose -f $(TOOLS_DIR)/postgres/docker-compose.yaml up -d --build
53

54
.PHONY: run/postgres/stop
55
run/postgres/stop: ## Dev: stop Postgres
56
	docker-compose -f $(TOOLS_DIR)/postgres/docker-compose.yaml down
57

58
.PHONY: run/kuma-cp
59
run/kuma-cp: $(DISTRIBUTION_FOLDER) ## Dev: Run `kuma-cp` locally (use CP_STORE=postgres to use postgres as a store and POSTGRES_MODE=tls to enabled TLS, use EXTRA_CP_ENV to add extra Kuma env vars)
60
ifeq ($(CP_STORE),postgres)
61
	$(CP_ENV) $(DISTRIBUTION_FOLDER)/bin/kuma-cp migrate up --log-level=debug
62
endif
63
	$(CP_ENV) $(DISTRIBUTION_FOLDER)/bin/kuma-cp run --log-level=debug
64

65
.PHONY: run/kuma-dp
66
run/kuma-dp: $(DISTRIBUTION_FOLDER) ## Dev: Run `kuma-dp` locally
67
	$(DISTRIBUTION_FOLDER)/bin/kumactl generate dataplane-token --name=$(EXAMPLE_DATAPLANE_NAME) --mesh=$(EXAMPLE_DATAPLANE_MESH) --valid-for=24h > /tmp/kuma-dp-$(EXAMPLE_DATAPLANE_NAME)-$(EXAMPLE_DATAPLANE_MESH)-token
68
	echo "$$EXAMPLE_DATAPLANE_RESOURCE" > /tmp/kuma-dp-$(EXAMPLE_DATAPLANE_NAME)-$(EXAMPLE_DATAPLANE_MESH).yaml
69
	$(DISTRIBUTION_FOLDER)/bin/kuma-dp run --log-level=debug --dataplane-token-file /tmp/kuma-dp-$(EXAMPLE_DATAPLANE_NAME)-$(EXAMPLE_DATAPLANE_MESH)-token --dataplane-file /tmp/kuma-dp-$(EXAMPLE_DATAPLANE_NAME)-$(EXAMPLE_DATAPLANE_MESH).yaml
70

71
.PHONY: run/xds-client
72
run/xds-client:
73
	go run ./tools/xds-client/... run --dps "${NUM_OF_DATAPLANES}" --services "${NUM_OF_SERVICES}" --xds-server-address "${KUMA_CP_ADDRESS}"
74

75
.PHONY: run/echo-server
76
run/echo-server: build/test-server
77
	$(BUILD_ARTIFACTS_DIR)/test-server/test-server echo --port=$(EXAMPLE_DATAPLANE_SERVICE_PORT)
78

79
.PHONY: run/envoy/config_dump
80
run/envoy/config_dump: ## Dev: Dump effective configuration of example Envoy
81
	curl -s localhost:$(ENVOY_ADMIN_PORT)/config_dump
82

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.