Skip to content

Commit 42d43fd

Browse files
peerless1024evelynwei
and
evelynwei
authored
支持自定义注入 (#199)
* feat: 配置更新和黑白名单注入功能 * feat: 解析annotations注解 * feat: 支持使用k8s命名空间和工作负载注册服务 * feat: InjectedAnnotations自动注入 * fix: howeyc/fsnotify库已经废弃,更新到最新的fsnotify/fsnotify库 * build: fix build failed * build: update helm files for javaagent * test: update versions * test: update helm webhook ca * fix: identified service namespace and name * fix: identified config * test: add unit tests * chore: 去掉无用的注释 * fix: fix mesh envoy yaml config * fix: update mesh envoy yaml inject config * test: 优化单测, map 的 for range 遍历顺序是随机的, 通过手动处理键值对的排序逻辑 * fix: 修正mesh envoy渲染模版的typo --------- Co-authored-by: evelynwei <[email protected]>
1 parent 11de8c2 commit 42d43fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2428
-1348
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ ORG = polarismesh
33
REPO = polaris-controller
44
SIDECAR_INIT_REPO = polaris-sidecar-init
55
ENVOY_SIDECAR_INIT_REPO = polaris-envoy-bootstrap-generator
6-
IMAGE_TAG = v1.7.2
6+
IMAGE_TAG = v1.7.3
77
PLATFORMS = linux/amd64,linux/arm64
88

99
.PHONY: all

build.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ else
2626
fi
2727
workdir=$(dirname $(realpath $0))
2828

29-
sed -i "s/##VERSION##/$version/g" "$workdir"/deploy/variables.txt
29+
if [ "$(uname)" == "Darwin" ]; then
30+
sed -i "" "s/##VERSION##/$version/g" "$workdir"/deploy/variables.txt
31+
else
32+
sed -i "s/##VERSION##/$version/g" "$workdir"/deploy/variables.txt
33+
fi
3034
cat "$workdir"/deploy/variables.txt
3135

3236
function replaceVar() {

cmd/polaris-controller/app/config.go

+60-9
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,19 @@ import (
2121
"gopkg.in/yaml.v2"
2222

2323
"github.com/polarismesh/polaris-controller/cmd/polaris-controller/app/options"
24+
"github.com/polarismesh/polaris-controller/common"
2425
"github.com/polarismesh/polaris-controller/common/log"
2526
)
2627

27-
// ServiceSync controller 用到的配置
28+
// ProxyMetadata mesh envoy用到的配置
2829
type ProxyMetadata struct {
2930
ServerAddress string `yaml:"serverAddress"`
3031
ClusterName string `yaml:"clusterName"`
3132
OpenDemand string `yaml:"openDemand"`
3233
CAAddress string `yaml:"caAddress"`
3334
}
3435

35-
// DefaultConfig controller 用到的配置
36+
// DefaultConfig mesh envoy sidecar 用到的配置
3637
type DefaultConfig struct {
3738
ProxyMetadata ProxyMetadata `yaml:"proxyMetadata"`
3839
}
@@ -56,16 +57,66 @@ type Server struct {
5657
}
5758

5859
type controllerConfig struct {
59-
Logger map[string]*log.Options `yaml:"logger"`
60-
ClusterName string `yaml:"clusterName"`
61-
Server Server `yaml:"server"`
62-
ServiceSync *options.ServiceSync `yaml:"serviceSync"`
63-
ConfigSync *options.ConfigSync `yaml:"configSync"`
64-
SidecarInject SidecarInject `yaml:"sidecarInject"`
60+
// 北极星服务端地址
61+
ServerAddress string `yaml:"serverAddress"`
62+
// 北极星服务端token(北极星开启鉴权时需要配置)
63+
PolarisAccessToken string `yaml:"accessToken"`
64+
// Operator 北极星主账户ID, 用于数据同步
65+
Operator string `yaml:"operator"`
66+
// 容器集群名称或ID
67+
ClusterName string `yaml:"clusterName"`
68+
// k8s服务同步配置
69+
ServiceSync *options.ServiceSync `yaml:"serviceSync"`
70+
// 配置同步配置
71+
ConfigSync *options.ConfigSync `yaml:"configSync"`
72+
// sidecar注入相关配置
73+
SidecarInject SidecarInject `yaml:"sidecarInject"`
74+
// mesh envoy 相关配置
75+
DefaultConfig DefaultConfig `yaml:"defaultConfig"`
76+
// 组件日志配置
77+
Logger map[string]*log.Options `yaml:"logger"`
78+
// 健康检查和对账配置
79+
Server Server `yaml:"server"`
80+
}
81+
82+
func (c *controllerConfig) getPolarisServerAddress() string {
83+
// 新配置格式
84+
if c.ServerAddress != "" {
85+
return c.ServerAddress
86+
}
87+
// 老的配置格式
88+
if c.ServiceSync.ServerAddress != "" {
89+
return c.ServiceSync.ServerAddress
90+
}
91+
return common.PolarisServerAddress
92+
}
93+
94+
func (c *controllerConfig) getPolarisAccessToken() string {
95+
// 新配置格式
96+
if c.PolarisAccessToken != "" {
97+
return c.PolarisAccessToken
98+
}
99+
// 老的配置格式
100+
if c.ServiceSync.PolarisAccessToken != "" {
101+
return c.ServiceSync.PolarisAccessToken
102+
}
103+
return ""
104+
}
105+
106+
func (c *controllerConfig) getPolarisOperator() string {
107+
// 新配置格式
108+
if c.Operator != "" {
109+
return c.Operator
110+
}
111+
// 老的配置格式
112+
if c.ServiceSync.Operator != "" {
113+
return c.ServiceSync.Operator
114+
}
115+
return ""
65116
}
66117

67118
func readConfFromFile() (*controllerConfig, error) {
68-
buf, err := os.ReadFile(MeshFile)
119+
buf, err := os.ReadFile(BootstrapConfigFile)
69120
if err != nil {
70121
log.Errorf("read file error, %v", err)
71122
return nil, err

cmd/polaris-controller/app/options/polaris.go

+4-9
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ type PolarisControllerOptions struct {
2929

3030
// ServiceSync 服务同步相关配置
3131
type ServiceSync struct {
32-
Mode string `yaml:"mode"`
32+
Mode string `yaml:"mode"`
33+
// deprecated, use SyncMode instead
3334
ServerAddress string `yaml:"serverAddress"`
3435
// 以下配置仅 polaris-server 开启 console auth
3536
// 调用 polaris-server OpenAPI 的凭据
@@ -40,15 +41,9 @@ type ServiceSync struct {
4041
Enable bool `yaml:"enable"`
4142
}
4243

43-
// ConfigSync 服务同步相关配置
44+
// ConfigSync 配置同步相关配置
4445
type ConfigSync struct {
45-
Mode string `yaml:"mode"`
46-
ServerAddress string `yaml:"serverAddress"`
47-
// 以下配置仅 polaris-server 开启 console auth
48-
// 调用 polaris-server OpenAPI 的凭据
49-
PolarisAccessToken string `yaml:"accessToken"`
50-
// Operator 用于数据同步的帐户ID
51-
Operator string `yaml:"operator"`
46+
Mode string `yaml:"mode"`
5247
// AllowDelete 允许向 Polaris 发起删除操作
5348
AllowDelete bool `yaml:"allowDelete"`
5449
// SyncDirection 配置同步方向, kubernetesToPolaris/polarisToKubernetes/both

cmd/polaris-controller/app/polaris-controller-manager.go

+11-9
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import (
4848
"github.com/polarismesh/polaris-controller/common"
4949
"github.com/polarismesh/polaris-controller/common/log"
5050
polarisController "github.com/polarismesh/polaris-controller/pkg/controller"
51+
"github.com/polarismesh/polaris-controller/pkg/inject/pkg/config"
5152
"github.com/polarismesh/polaris-controller/pkg/inject/pkg/kube/inject"
5253
_ "github.com/polarismesh/polaris-controller/pkg/inject/pkg/kube/inject/apply/javaagent"
5354
_ "github.com/polarismesh/polaris-controller/pkg/inject/pkg/kube/inject/apply/mesh"
@@ -68,7 +69,7 @@ const (
6869
DnsConfigFile = "/etc/polaris-inject/inject/dns-config"
6970
JavaAgentConfigFile = "/etc/polaris-inject/inject/java-agent-config"
7071
ValuesFile = "/etc/polaris-inject/inject/values"
71-
MeshFile = "/etc/polaris-inject/config/mesh"
72+
BootstrapConfigFile = "/etc/polaris-inject/config/mesh"
7273
CertFile = "/etc/polaris-inject/certs/cert.pem"
7374
KeyFile = "/etc/polaris-inject/certs/key.pem"
7475
)
@@ -186,8 +187,7 @@ func initControllerConfig(s *options.KubeControllerManagerOptions) {
186187
if flags.polarisServerAddress != "" {
187188
polarisServerAddress = flags.polarisServerAddress
188189
} else {
189-
// 启动参数没有指定,取 mesh config 中的地址
190-
polarisServerAddress = config.ServiceSync.ServerAddress
190+
polarisServerAddress = config.getPolarisServerAddress()
191191
}
192192
// 去除前后的空格字符
193193
polarisServerAddress = strings.TrimSpace(polarisServerAddress)
@@ -196,9 +196,8 @@ func initControllerConfig(s *options.KubeControllerManagerOptions) {
196196
polarisapi.PolarisConfigGrpc = polarisServerAddress + ":8093"
197197
log.Infof("[Manager] polaris http address %s, discover grpc address %s, config grpc address %s",
198198
polarisapi.PolarisHttpURL, polarisapi.PolarisGrpc, polarisapi.PolarisConfigGrpc)
199-
// 设置北极星开启鉴权之后,需要使用的访问token
200-
polarisapi.PolarisAccessToken = config.ServiceSync.PolarisAccessToken
201-
polarisapi.PolarisOperator = config.ServiceSync.Operator
199+
polarisapi.PolarisAccessToken = config.getPolarisAccessToken()
200+
polarisapi.PolarisOperator = config.getPolarisOperator()
202201

203202
// 2. 配置 polaris 同步模式
204203
if s.PolarisController.SyncMode == "" {
@@ -247,15 +246,18 @@ func closeGrpcLog() {
247246
}
248247

249248
func initPolarisSidecarInjector(c *options.CompletedConfig) error {
250-
parameters := inject.WebhookParameters{
251-
DefaultSidecarMode: util.ParseSidecarMode(c.ComponentConfig.PolarisController.SidecarMode),
249+
templateFilePath := config.TemplateFileConfig{
252250
MeshConfigFile: MeshConfigFile,
253251
DnsConfigFile: DnsConfigFile,
254252
JavaAgentConfigFile: JavaAgentConfigFile,
255253
ValuesFile: ValuesFile,
256-
MeshFile: MeshFile,
254+
BootstrapConfigFile: BootstrapConfigFile,
257255
CertFile: CertFile,
258256
KeyFile: KeyFile,
257+
}
258+
parameters := inject.WebhookParameters{
259+
DefaultSidecarMode: util.ParseSidecarMode(c.ComponentConfig.PolarisController.SidecarMode),
260+
TemplateFileConfig: templateFilePath,
259261
Port: flags.injectPort,
260262
HealthCheckInterval: 3 * time.Second,
261263
HealthCheckFile: "/tmp/health",

deploy/kubernetes_v1.21/helm/templates/_helpers.tpl

+7
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@ Get specific image for sidecar init container
5555
{{- printf "%s:%s" .Values.sidecar.envoy.image.repo .Values.sidecar.envoy.image.tag -}}
5656
{{- end -}}
5757

58+
{{/*
59+
Get specific image for javaagent init container
60+
*/}}
61+
{{- define "polaris-controller.sidecar.javaagent.image" -}}
62+
{{- printf "%s:%s" .Values.sidecar.javaagent.image.repo .Values.sidecar.javaagent.image.tag -}}
63+
{{- end -}}
64+
5865
{{/*
5966
Get specific image for sidecar init container
6067
*/}}

deploy/kubernetes_v1.21/helm/templates/_params.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Define the cmd envs for the bootstrap init container.
6464
- name: CLUSTER_NAME
6565
value: {{ "{{" }}.ProxyConfig.ProxyMetadata.clusterName{{ "}}" }}
6666
- name: OPEN_DEMAND
67-
value: {{ "{{" }}.ProxyConfig.ProxyMetadata.opemDemand{{ "}}" }}
67+
value: {{ "{{" }}.ProxyConfig.ProxyMetadata.openDemand{{ "}}" }}
6868
{{- end -}}
6969

7070

deploy/kubernetes_v1.21/helm/templates/admission-webhooks/mutating-webhook.yaml

+37-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,40 @@ webhooks:
2020
failurePolicy: Fail
2121
namespaceSelector:
2222
matchLabels:
23-
polaris-injection: enabled
23+
polaris-injection: enabled
24+
- name: ns.injector.polarismesh.cn
25+
clientConfig:
26+
service:
27+
name: polaris-sidecar-injector
28+
namespace: polaris-system
29+
path: "/inject"
30+
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZpVENDQTNHZ0F3SUJBZ0lVSUJGZmZMeE84K2RNSTNrd3hOcXpibGg4Zm9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd05qRTBNRElHQTFVRUF3d3JjRzlzWVhKcGN5MXphV1JsWTJGeUxXbHVhbVZqZEc5eUxuQnZiR0Z5YVhNdApjM2x6ZEdWdExuTjJZekFnRncweU1qQTNNRFF3TXpFNU1UaGFHQTh5TVRJeE1EWXhNREF6TVRreE9Gb3dOakUwCk1ESUdBMVVFQXd3cmNHOXNZWEpwY3kxemFXUmxZMkZ5TFdsdWFtVmpkRzl5TG5CdmJHRnlhWE10YzNsemRHVnQKTG5OMll6Q0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxMWmE4NzZkQnRmQlJ1cgpaSzZpK0UzRUs4UWJFWitlaG1lNWNhaXhsakRwTlJIdHFyb2I2NGExYldTUWQxU0IvMmVxbVdiY1ZXY24vVFRQCk45WFVHN2JsNExSaWRWQktYODE3ekdDWEYra3BqbTNOekFseEdEK3lteXhJeWhYS1U5K3A3VGk5SXpORXNPNE8KSlhaQm5iOVdzWGU2eGJJN0dlUUY5WXVCdit0ekNMNVJ0ZmRiUmtMVGQ2eWF3NlZYTFdEcDFrUUU4Q1pEc0g5ZApTZmxBeUhCUitaLzVqbzBtMnQzU3hiNTVPak9YcDhVNmV3bVRmdzZ0VXE1Z3dmZXBjWGNOUWlVTXJveFl0dXkxCkxnWGVBN3MvMFdCeDcrVlFPWXlGSGlaQUI0V1dkSEk1S0JIeFlpSFA3Y2N5aWEvM0gwQ2lYVSthYnd0NHk5TDQKdmVSMHQ5ZmMvbXZXUU01aFBjT1hwdzVJZU5sUG8wZE9vZ0NNdE1qaTkwTEFFS2RMQVNhemxDT0hzdVFqNkczaQp4Nk4rdzQrYy9VTGFxR1REUGc2K0c0UDl5UUVZNXVDNDRZWWpJSGxjQlhyR0YwVFFKTEZMM3F4dnU1VitpYXF1CnMvaWZyRzllY3RyY3lLczVWM0dESGlDdE93Y29MajI1TG1oYzF4MEdvT1RmWis3VFA1NjRyM1k3cVVhcUJ3WFgKMWREak4wREFtU1k1VW1tTGhhZ205bU9xcVo4T29XY0M2clFEVUJwbW1hTTUxVEVkeVEwbHNCc0g1T0Jvalp1UgpkeUZuTXkxWHdSRjVNenRrTW9nRnZKYWhnN1hVUTJBN1NBaUhxaUlCY1AyZTZKNDdUMVNqa0s4NUpwMU1WRW5PCjZhSFZxR29wQm9tUi9BNzBTUlRLeGp2UW52UC9BZ01CQUFHamdZd3dnWWt3SFFZRFZSME9CQllFRkNMTkZlMHUKd3Z3RGRiT0VRQWwxNFMwRTRBQzhNQjhHQTFVZEl3UVlNQmFBRkNMTkZlMHV3dndEZGJPRVFBbDE0UzBFNEFDOApNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdOZ1lEVlIwUkJDOHdMWUlyY0c5c1lYSnBjeTF6YVdSbFkyRnlMV2x1CmFtVmpkRzl5TG5CdmJHRnlhWE10YzNsemRHVnRMbk4yWXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQWx5aXQKVjdYaHRqZTFXK3RBMUtiUUtBUi8rendiUW1RUHpRTHpRdEdqUERvbmk5VVYyK3A1OEF5YmtvVVo3cEhXb2hFcgoxUGI2WGpKVVYxNjhGb3FZMUR4OS9SRCtDeC9mOWZ1MkswTTEvc2pYTk9oVERuMHZwZ2VvMFZJOVdCcUMrK1EyCllORmZNM2ZhaDQyaXVaSTBZNldnRldJM3dGbUQ3MTBWTC8xOVhMQ0dpditUbmc0ZnRwcHhOZW9rWlI1dU1janAKM0hNeExnUkExbnFYQ2ZhT3VrRVZLbnhvQ1hoQmRySXErV1VsOUZjZ09iVGxaU0RMNEpkZTl2R1B3cFBFRS9pVgo5cHhsMkhxWWdUZEdXZjJXeWluSmhZazFXempmZzFRTEY0TnJIQ2o3alJNbDBFbXZHM0hTNDM0ME9PUURKTlptClBDVHVrODV6L2dwaml5b3RxUlorcmNXSThBbVZDdURWbkg0VHVqb2swU1RXdUlWUDM5c21DUE5kUElwUVIxblIKSnZ1L2szV0IrTmlZbU94QzJ5SjRvMWRtYnZvS2ZadGIxVVBObVRJcmxXNThlMDdmUGV4QmNwR3JSRk5yVS9kaQpJbEpMNytXVVBKQWluTC8zL0FLQm5md1ZaemtrOVlUdld0b2xZeElhRExTd3JsdEdvZjBQUkptYnI0UDdxbm56ClFDUXVlZDFsUjRaUHJnYUlnZEdHSjdac1lESlVZbS8xd2g3N3FmR3FlYlRFZmorV09JYzV2S09vcEZTY0ZXd3oKNGVZVmVMYjBZdkc0dmc3ZHhCNFArbElzaFNpdmRVUE5XMW5ZY05pcFIrNnI2Q3h0ZnIwWjZWSkFjZjdTR1FHNwpYZkNuQXdMdlJtMEs2Q1Z6WUhPTFVRR2ZVSjBEbGFEeUR3c0JOc009Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
31+
rules:
32+
- operations: ["CREATE"]
33+
apiGroups: [""]
34+
apiVersions: ["v1"]
35+
resources: ["pods"]
36+
admissionReviewVersions: ["v1"]
37+
sideEffects: "None"
38+
failurePolicy: Fail
39+
namespaceSelector:
40+
matchLabels:
41+
polarismesh.cn/inject: enabled
42+
- name: allowlist.polarismesh.cn
43+
clientConfig:
44+
service:
45+
name: polaris-sidecar-injector
46+
namespace: polaris-system
47+
path: "/inject"
48+
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZpVENDQTNHZ0F3SUJBZ0lVSUJGZmZMeE84K2RNSTNrd3hOcXpibGg4Zm9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd05qRTBNRElHQTFVRUF3d3JjRzlzWVhKcGN5MXphV1JsWTJGeUxXbHVhbVZqZEc5eUxuQnZiR0Z5YVhNdApjM2x6ZEdWdExuTjJZekFnRncweU1qQTNNRFF3TXpFNU1UaGFHQTh5TVRJeE1EWXhNREF6TVRreE9Gb3dOakUwCk1ESUdBMVVFQXd3cmNHOXNZWEpwY3kxemFXUmxZMkZ5TFdsdWFtVmpkRzl5TG5CdmJHRnlhWE10YzNsemRHVnQKTG5OMll6Q0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxMWmE4NzZkQnRmQlJ1cgpaSzZpK0UzRUs4UWJFWitlaG1lNWNhaXhsakRwTlJIdHFyb2I2NGExYldTUWQxU0IvMmVxbVdiY1ZXY24vVFRQCk45WFVHN2JsNExSaWRWQktYODE3ekdDWEYra3BqbTNOekFseEdEK3lteXhJeWhYS1U5K3A3VGk5SXpORXNPNE8KSlhaQm5iOVdzWGU2eGJJN0dlUUY5WXVCdit0ekNMNVJ0ZmRiUmtMVGQ2eWF3NlZYTFdEcDFrUUU4Q1pEc0g5ZApTZmxBeUhCUitaLzVqbzBtMnQzU3hiNTVPak9YcDhVNmV3bVRmdzZ0VXE1Z3dmZXBjWGNOUWlVTXJveFl0dXkxCkxnWGVBN3MvMFdCeDcrVlFPWXlGSGlaQUI0V1dkSEk1S0JIeFlpSFA3Y2N5aWEvM0gwQ2lYVSthYnd0NHk5TDQKdmVSMHQ5ZmMvbXZXUU01aFBjT1hwdzVJZU5sUG8wZE9vZ0NNdE1qaTkwTEFFS2RMQVNhemxDT0hzdVFqNkczaQp4Nk4rdzQrYy9VTGFxR1REUGc2K0c0UDl5UUVZNXVDNDRZWWpJSGxjQlhyR0YwVFFKTEZMM3F4dnU1VitpYXF1CnMvaWZyRzllY3RyY3lLczVWM0dESGlDdE93Y29MajI1TG1oYzF4MEdvT1RmWis3VFA1NjRyM1k3cVVhcUJ3WFgKMWREak4wREFtU1k1VW1tTGhhZ205bU9xcVo4T29XY0M2clFEVUJwbW1hTTUxVEVkeVEwbHNCc0g1T0Jvalp1UgpkeUZuTXkxWHdSRjVNenRrTW9nRnZKYWhnN1hVUTJBN1NBaUhxaUlCY1AyZTZKNDdUMVNqa0s4NUpwMU1WRW5PCjZhSFZxR29wQm9tUi9BNzBTUlRLeGp2UW52UC9BZ01CQUFHamdZd3dnWWt3SFFZRFZSME9CQllFRkNMTkZlMHUKd3Z3RGRiT0VRQWwxNFMwRTRBQzhNQjhHQTFVZEl3UVlNQmFBRkNMTkZlMHV3dndEZGJPRVFBbDE0UzBFNEFDOApNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdOZ1lEVlIwUkJDOHdMWUlyY0c5c1lYSnBjeTF6YVdSbFkyRnlMV2x1CmFtVmpkRzl5TG5CdmJHRnlhWE10YzNsemRHVnRMbk4yWXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQWx5aXQKVjdYaHRqZTFXK3RBMUtiUUtBUi8rendiUW1RUHpRTHpRdEdqUERvbmk5VVYyK3A1OEF5YmtvVVo3cEhXb2hFcgoxUGI2WGpKVVYxNjhGb3FZMUR4OS9SRCtDeC9mOWZ1MkswTTEvc2pYTk9oVERuMHZwZ2VvMFZJOVdCcUMrK1EyCllORmZNM2ZhaDQyaXVaSTBZNldnRldJM3dGbUQ3MTBWTC8xOVhMQ0dpditUbmc0ZnRwcHhOZW9rWlI1dU1janAKM0hNeExnUkExbnFYQ2ZhT3VrRVZLbnhvQ1hoQmRySXErV1VsOUZjZ09iVGxaU0RMNEpkZTl2R1B3cFBFRS9pVgo5cHhsMkhxWWdUZEdXZjJXeWluSmhZazFXempmZzFRTEY0TnJIQ2o3alJNbDBFbXZHM0hTNDM0ME9PUURKTlptClBDVHVrODV6L2dwaml5b3RxUlorcmNXSThBbVZDdURWbkg0VHVqb2swU1RXdUlWUDM5c21DUE5kUElwUVIxblIKSnZ1L2szV0IrTmlZbU94QzJ5SjRvMWRtYnZvS2ZadGIxVVBObVRJcmxXNThlMDdmUGV4QmNwR3JSRk5yVS9kaQpJbEpMNytXVVBKQWluTC8zL0FLQm5md1ZaemtrOVlUdld0b2xZeElhRExTd3JsdEdvZjBQUkptYnI0UDdxbm56ClFDUXVlZDFsUjRaUHJnYUlnZEdHSjdac1lESlVZbS8xd2g3N3FmR3FlYlRFZmorV09JYzV2S09vcEZTY0ZXd3oKNGVZVmVMYjBZdkc0dmc3ZHhCNFArbElzaFNpdmRVUE5XMW5ZY05pcFIrNnI2Q3h0ZnIwWjZWSkFjZjdTR1FHNwpYZkNuQXdMdlJtMEs2Q1Z6WUhPTFVRR2ZVSjBEbGFEeUR3c0JOc009Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
49+
rules:
50+
- operations: ["CREATE"]
51+
apiGroups: [""]
52+
apiVersions: ["v1"]
53+
resources: ["pods"]
54+
admissionReviewVersions: ["v1"]
55+
sideEffects: "None"
56+
failurePolicy: Fail
57+
objectSelector:
58+
matchLabels:
59+
polarismesh.cn/inject: enabled

deploy/kubernetes_v1.21/helm/templates/controller-configmap-javaagent.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ data:
1616
# 启用 Java Agent 的 Spring Cloud Tencent 注册发现能力
1717
spring.cloud.discovery.enabled=true
1818
# 配置服务注册发现的命名空间信息
19-
spring.cloud.polaris.discovery.namespace=default
19+
spring.cloud.polaris.discovery.namespace={{ .MicroserviceNamespace }}
2020
# 启用从北极星
2121
spring.cloud.polaris.discovery.enabled=true
2222
spring.cloud.polaris.discovery.register=true
@@ -66,7 +66,7 @@ data:
6666
# 启用 Java Agent 的 Spring Cloud Tencent 注册发现能力
6767
spring.cloud.discovery.enabled=true
6868
# 配置服务注册发现的命名空间信息
69-
spring.cloud.polaris.discovery.namespace=default
69+
spring.cloud.polaris.discovery.namespace={{ .MicroserviceNamespace }}
7070
# 启用从北极星
7171
spring.cloud.polaris.discovery.enabled=true
7272
spring.cloud.polaris.discovery.register=true
@@ -116,7 +116,7 @@ data:
116116
# 启用 Java Agent 的 Spring Cloud Tencent 注册发现能力
117117
spring.cloud.discovery.enabled=true
118118
# 配置服务注册发现的命名空间信息
119-
spring.cloud.polaris.discovery.namespace=default
119+
spring.cloud.polaris.discovery.namespace={{ .MicroserviceNamespace }}
120120
# 启用从北极星
121121
spring.cloud.polaris.discovery.enabled=true
122122
spring.cloud.polaris.discovery.register=true

deploy/kubernetes_v1.21/helm/templates/controller-configmap-mesh.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,22 @@ data:
6161
- stdout
6262
errorOutputPaths:
6363
- stderr
64+
# 北极星服务端地址
65+
serverAddress: {{ .Values.polaris.server.address }}
66+
# 北极星服务端token(北极星开启鉴权时需要配置)
67+
accessToken: {{ .Values.polaris.server.token }}
68+
# 北极星主账户ID
69+
operator: {{ .Values.polaris.server.operator }}
6470
# k8s cluster name
6571
clusterName: "{{ .Values.cluster.name }}"
66-
# polaris-sidecar 注入的默认启动模式, 可以配置 mesh 或者 dns
72+
# polaris-sidecar 注入的默认启动模式, 可以配置 java-agent, mesh 或者 dns
6773
sidecarInject:
68-
mode: "{{ .Values.sidecar.mesh }}"
74+
mode: "{{ .Values.sidecar.mode }}"
6975
# service sync
7076
serviceSync:
7177
mode: {{ .Values.polaris.sync.service.mode }}
72-
serverAddress: {{ .Values.polaris.server.address }}
73-
# 北极星开启鉴权时需要配置
74-
accessToken: {{ .Values.polaris.server.token }}
7578
configSync:
7679
enable: {{ .Values.polaris.sync.config.enable }}
77-
serverAddress: {{ .Values.polaris.server.address }}
78-
# 北极星开启鉴权时需要配置
79-
accessToken: {{ .Values.polaris.server.token }}
8080
allowDelete: {{ .Values.polaris.sync.config.allowDelete }}
8181
# 配置同步方向: kubernetesToPolaris|polarisToKubernetes|both
8282
syncDirection: {{ .Values.polaris.sync.config.direction }}

deploy/kubernetes_v1.21/helm/templates/controller-configmap-sidecar.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ data:
1515
[]
1616
1717
neverInjectSelector:
18-
[]
18+
[{"matchLabels":{"polarismesh.cn/inject":"disabled"}}]
1919
2020
template: |
2121
containers:
@@ -93,12 +93,12 @@ data:
9393
[]
9494
9595
neverInjectSelector:
96-
[]
96+
[{"matchLabels":{"polarismesh.cn/inject":"disabled"}}]
9797
9898
template: |
9999
initContainers:
100100
- name: polaris-javaagent-init
101-
image: polarismesh/polaris-javaagent-init:#JAVA_AGENT_INIT#
101+
image: {{ include "polaris-controller.sidecar.javaagent.image" . }}
102102
imagePullPolicy: Always
103103
env:
104104
- name: JAVA_AGENT_DIR
@@ -138,7 +138,7 @@ data:
138138
[]
139139
140140
neverInjectSelector:
141-
[]
141+
[{"matchLabels":{"polarismesh.cn/inject":"disabled"}}]
142142
143143
template: |
144144
containers:

deploy/kubernetes_v1.21/helm/values.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,18 @@ sidecar:
3131
image:
3232
repo: polarismesh/polaris-envoy-bootstrap-generator
3333
tag: #CONTROLLER_VERSION#
34+
javaagent:
35+
image:
36+
repo: polarismesh/polaris-javaagent-init
37+
tag: #JAVA_AGENT_INIT#
38+
pullPolicy: Always
3439

3540
## polaris server config
3641
polaris:
3742
server:
3843
address: #POLARIS_HOST#
3944
token: #POLARIS_TOKEN#
45+
operator: #POLARIS_OPERATOR#
4046
sync:
4147
service:
4248
mode: all

0 commit comments

Comments
 (0)