You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2021/11/24 06:24:02 UTC

[GitHub] [skywalking-kubernetes] mrproliu opened a new pull request #83: Add skywalking satellite support

mrproliu opened a new pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83


   * Support using satellite as a gateway
   * upgrade E2E as infra-e2e


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] hanahmily commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
hanahmily commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755751861



##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:

Review comment:
       Just a nit. 
   
   Recently, I found we should replace livenessProbe with readinessProbe, the former would cause E2E cases to flaky.

##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:
+          tcpSocket:
+            port: 11800
+          initialDelaySeconds: 15
+          periodSeconds: 20
+        ports:
+        {{- range $key, $value :=  .Values.satellite.ports }}
+        - containerPort: {{ $value }}
+          name: {{ $key }}
+        {{- end }}
+{{- if .Values.satellite.resources }}
+        resources:
+{{ toYaml .Values.satellite.resources | indent 10 }}
+{{- end }}
+        env:
+        - name: SATELLITE_GRPC_CLIENT_FINDER
+          value: kubernetes
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_NAMESPACE
+          value: "{{ .Release.Namespace }}"
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_KIND
+          value: pod
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_SELECTOR_LABEL
+          value: "app={{ template "skywalking.name" . }},release={{ .Release.Name }},component={{ .Values.oap.name }}"
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_EXTRA_PORT_PORT

Review comment:
       `PORT_PORT`, typo?

##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:
+          tcpSocket:
+            port: 11800
+          initialDelaySeconds: 15
+          periodSeconds: 20
+        ports:
+        {{- range $key, $value :=  .Values.satellite.ports }}
+        - containerPort: {{ $value }}
+          name: {{ $key }}
+        {{- end }}
+{{- if .Values.satellite.resources }}
+        resources:
+{{ toYaml .Values.satellite.resources | indent 10 }}
+{{- end }}
+        env:
+        - name: SATELLITE_GRPC_CLIENT_FINDER
+          value: kubernetes
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_NAMESPACE
+          value: "{{ .Release.Namespace }}"
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_KIND
+          value: pod
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_SELECTOR_LABEL
+          value: "app={{ template "skywalking.name" . }},release={{ .Release.Name }},component={{ .Values.oap.name }}"

Review comment:
       Is `component` not `{{ .Values.satellite.name }}`?

##########
File path: chart/skywalking/templates/oap-clusterrolebinding.yaml
##########
@@ -31,4 +31,9 @@ subjects:
 - kind: ServiceAccount
   name: {{ template "skywalking.serviceAccountName.oap" . }}
   namespace: {{ .Release.Namespace }}
+{{- if .Values.satellite.enabled }}

Review comment:
       Why does the satellite need the cluster role? Which resources it has to get?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755752565



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       We need to do this because the E2E kind environment should load these images from the local machine, if the images could not be found in the local machine the E2E will fail, it couldn't auto pull for now.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979588981


   Others LGTM


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757193076



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       If we need tests through matrix, that works.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979661763


   If you are concern about this, I would prefer not deploy satellite in showcase. 
   The reason I asked about this, is users will face this load balance issue from day one when they go to product env deployment. Even Java agent provide random-based client-side load balancing, AFAIK, it doesn't work perfectly.
   
   If you set the principle of deploying XYZ in showcase as tech level mandatory, then let's leave satellite out of it. It is definitely not. 
   
   Half through satellite, and half using direct link, are really not a good showcase at all. It just increases the confusion, I am afraid. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r756959498



##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:

Review comment:
       Change to `readinessProbe` in satellite.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757181956



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -23,93 +23,40 @@ on:
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  SATELLITE_TAG: v4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       Move these into the e2e environment file

##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       Move these into the e2e environment file




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755754771



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       e2e infra and KinD could automatically download images. What issue do you mean?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755864344



##########
File path: chart/skywalking/templates/oap-clusterrolebinding.yaml
##########
@@ -31,4 +31,9 @@ subjects:
 - kind: ServiceAccount
   name: {{ template "skywalking.serviceAccountName.oap" . }}
   namespace: {{ .Release.Namespace }}
+{{- if .Values.satellite.enabled }}

Review comment:
       Sure, should I create a new role to do this? I see we already have the role so reuse them.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755770255



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       > e2e infra and KinD could automatically download images. What issue do you mean?
   
   The kind import only support import the docker image from local machine, if local machine is not present the task will fail. So I need to pull the images to the local machine first, then the kind environment could import them. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979675506


   > If you set the principle of deploying XYZ in showcase as tech level mandatory,
   
   Hey that's not what I mean, we have agent services and agentless services and agent is not mandatory tech in SkyWalking but we deploy them still. Let's find another way to add Satellite into showcase. Now we have many feature flags that users can choose to deploy a subset of features of SkyWalking, let's add another feature flag `satellite` that deploys Satellite and makes all agents and ALS connect to it, and enable this feature by default (on demo.skywalking.a.o), but users can have a chance to remove `satellite` feature and make `agent` connect to OAP directly. WDYT?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757189317



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       I think the point is where we define the tags. If repositories are expected to reused in other e2e, then it is better to move together.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755889131



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +46,29 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53

Review comment:
       It's could not remove, the E2E need to reference the cases excepted, environment files.  




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755743745



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       > Who provides this `github.sha`?
   
   It's built in




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979655559


   > > Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   > > Please submit an issue to track for doc and showcase.
   > 
   > Just a reminder, satellite is not mandatory so we won't make all agent services connect to it in showcase, as we have 2 Java services (gateway and songs) we can make one of them send data to satellite and leave all others as is.
   
   With time, more and more verification, could come from the product, if all are good, I would like to put it as recommended. In all these days perf testing and local balance testing, connection based load balance has very clear disadvantage, but most proxies are only supporting this way.
   Users complained many times, now, we have the solution.
   So, once we confirm Satellite is good, it should be some kind of mandatory(recommended as it is better to have). Does this make sense to you?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979660076


   > > > Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   > 
   > > > Please submit an issue to track for doc and showcase.
   > 
   > > 
   > 
   > > Just a reminder, satellite is not mandatory so we won't make all agent services connect to it in showcase, as we have 2 Java services (gateway and songs) we can make one of them send data to satellite and leave all others as is.
   > 
   > 
   > 
   > With time, more and more verification, could come from the product, if all are good, I would like to put it as recommended. In all these days perf testing and local balance testing, connection based load balance has very clear disadvantage, but most proxies are only supporting this way.
   > 
   > Users complained many times, now, we have the solution.
   > 
   > So, once we confirm Satellite is good, it should be some kind of mandatory(recommended as it is better to have). Does this make sense to you?
   
   We could recommend, but showcase repo serves as a demonstration that will be referenced by all users, we should have examples without Satellite, unless we say officially SkyWalking cannot work without Satellite, which is obviously not the case.
   
   I know Satellite can work with or without Kubernetes but for traditional deployments I don't believe users will deploy another Satellite process along with their application process, in this case they will ask for non-Satellite solution. That's why I want to keep agents without Satellite in showcase. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757997753



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -23,93 +23,40 @@ on:
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  SATELLITE_TAG: v4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       Seems this comment is not resolved?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755746319



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       Oh, yes, using pre-built makes more sense.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755951224



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +46,29 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53

Review comment:
       What do you mean about the checkout? checkout the main repo into the `setup.steps`?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755745816



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       > I mean this is `skywalking-kubernetes` repo, why this sha code could be used for OAP_TAG?
   
   It's used as the tag when building a new OAP docker.
   
   Though I ask to replace with a pre-built Docker image https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755736325




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755744358



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       I mean this is `skywalking-kubernetes` repo, why this sha code could be used for OAP_TAG?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979649648


   > Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   > Please submit an issue to track for doc and showcase.
   
   Just a reminder, satellite is not mandatory so we won't make all agent services connect to it in showcase, as we have 2 Java services (gateway and songs) we can make one of them send data to satellite and leave all others as is.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979648311


   Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   Please submit an issue to track for doc and showcase.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755759088



##########
File path: chart/skywalking/templates/oap-clusterrolebinding.yaml
##########
@@ -31,4 +31,9 @@ subjects:
 - kind: ServiceAccount
   name: {{ template "skywalking.serviceAccountName.oap" . }}
   namespace: {{ .Release.Namespace }}
+{{- if .Values.satellite.enabled }}

Review comment:
       It needs to get `pod` resources because the satellite needs to get all `oap` pod grpc ports to forward content.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] hanahmily commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
hanahmily commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755801112



##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:
+          tcpSocket:
+            port: 11800
+          initialDelaySeconds: 15
+          periodSeconds: 20
+        ports:
+        {{- range $key, $value :=  .Values.satellite.ports }}
+        - containerPort: {{ $value }}
+          name: {{ $key }}
+        {{- end }}
+{{- if .Values.satellite.resources }}
+        resources:
+{{ toYaml .Values.satellite.resources | indent 10 }}
+{{- end }}
+        env:
+        - name: SATELLITE_GRPC_CLIENT_FINDER
+          value: kubernetes
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_NAMESPACE
+          value: "{{ .Release.Namespace }}"
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_KIND
+          value: pod
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_SELECTOR_LABEL
+          value: "app={{ template "skywalking.name" . }},release={{ .Release.Name }},component={{ .Values.oap.name }}"

Review comment:
       got your point. it's an oap pod discovery mechanism. 
   
   Could you add a helper function to wrap them up since both oap and this are referring them ?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r756056046



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +46,29 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53

Review comment:
       yes, checkout the main repo in `setup.steps`.
   
   But I prefer to copy those files into this repo and don't depend on that repo as these files are not strong relevant to the main repo




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757189415



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -23,93 +23,40 @@ on:
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  SATELLITE_TAG: v4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       From here, I think repo path should be moved too.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757185231



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       Do you mean only move the satellite to E2E environment config? Because the oap and ui, these image have different tag and repo. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng edited a comment on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng edited a comment on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979655559


   > > Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   > > Please submit an issue to track for doc and showcase.
   > 
   > Just a reminder, satellite is not mandatory so we won't make all agent services connect to it in showcase, as we have 2 Java services (gateway and songs) we can make one of them send data to satellite and leave all others as is.
   
   With time, more and more verification, could come from the product env(end users), if all are good, I would like to put it as recommended. In all these days perf testing and local balance testing, connection based load balance has very clear disadvantage, but most proxies are only supporting this way.
   Users complained many times, now, we have the solution.
   So, once we confirm Satellite is good, it should be some kind of mandatory(recommended as it is better to have). Does this make sense to you?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755756926



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       > We need to do this because the E2E kind environment should load these images from the local machine, if the images could not be found in the local machine the E2E will fail, it couldn't auto pull for now.
   
   The answer is not not to load the public images into the KinD because there is no need




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979711969


   Let's continue discussion on that new created issue if needed. 
   This is not a block for this pull request.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755882546



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +46,29 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53

Review comment:
       I think this entire `actions/checkout` step can be removed?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757191729



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       ok, I think we could move these tags and repo to a single e2e file. using a matrix to run them.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755740982



##########
File path: README.md
##########
@@ -116,6 +116,16 @@ helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RE
   -f ./skywalking/values-my-es.yaml
 ```
 
+## Install SkyWalking with Satellite
+
+Enable the satellite as gateway, and set the satellite image tag.
+
+```shell script
+helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
+  --set satellite.enabled=true \
+  --set satellite.image.tag=v0.3.0
+```

Review comment:
       We should add description about user should set service address to satellite instead of oap, right?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755759685



##########
File path: chart/skywalking/templates/satellite-deployment.yaml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if .Values.satellite.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: {{ template "skywalking.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+    component: "{{ .Values.satellite.name }}"
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  name: {{ template "skywalking.satellite.fullname" . }}
+spec:
+  replicas: {{ .Values.satellite.replicas }}
+  selector:
+    matchLabels:
+      app: {{ template "skywalking.name" . }}
+      component: "{{ .Values.satellite.name }}"
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "skywalking.name" . }}
+        component: "{{ .Values.satellite.name }}"
+        release: {{ .Release.Name }}
+        {{- if .Values.satellite.podAnnotations }}
+      annotations:
+{{ toYaml .Values.satellite.podAnnotations | indent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "skywalking.serviceAccountName.satellite" . }}
+      affinity:
+      {{- if eq .Values.satellite.antiAffinity "hard" }}
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - topologyKey: "kubernetes.io/hostname"
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- else if eq .Values.satellite.antiAffinity "soft" }}
+        podAntiAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - weight: 1
+            podAffinityTerm:
+              topologyKey: kubernetes.io/hostname
+              labelSelector:
+                matchLabels:
+                  app: "{{ template "skywalking.name" . }}"
+                  release: "{{ .Release.Name }}"
+                  component: "{{ .Values.satellite.name }}"
+      {{- end }}
+      {{- with .Values.satellite.nodeAffinity }}
+        nodeAffinity:
+{{ toYaml . | indent 10 }}
+      {{- end }}
+{{- if .Values.satellite.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.satellite.nodeSelector | indent 8 }}
+{{- end }}
+{{- if .Values.satellite.tolerations }}
+      tolerations:
+{{ toYaml .Values.satellite.tolerations | indent 8 }}
+{{- end }}
+{{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 8 }}
+{{- end }}
+      containers:
+      - name: {{ .Values.satellite.name }}
+        image: {{ .Values.satellite.image.repository }}:{{ required "satellite.image.tag is required" .Values.satellite.image.tag }}
+        imagePullPolicy: {{ .Values.satellite.image.pullPolicy }}
+        livenessProbe:
+          tcpSocket:
+            port: 11800
+          initialDelaySeconds: 15
+          periodSeconds: 20
+        ports:
+        {{- range $key, $value :=  .Values.satellite.ports }}
+        - containerPort: {{ $value }}
+          name: {{ $key }}
+        {{- end }}
+{{- if .Values.satellite.resources }}
+        resources:
+{{ toYaml .Values.satellite.resources | indent 10 }}
+{{- end }}
+        env:
+        - name: SATELLITE_GRPC_CLIENT_FINDER
+          value: kubernetes
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_NAMESPACE
+          value: "{{ .Release.Namespace }}"
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_KIND
+          value: pod
+        - name: SATELLITE_GRPC_CLIENT_KUBERNETES_SELECTOR_LABEL
+          value: "app={{ template "skywalking.name" . }},release={{ .Release.Name }},component={{ .Values.oap.name }}"

Review comment:
       yes, the satellite needs to get real oap ports, not itself.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] hanahmily commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
hanahmily commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755796492



##########
File path: chart/skywalking/templates/oap-clusterrolebinding.yaml
##########
@@ -31,4 +31,9 @@ subjects:
 - kind: ServiceAccount
   name: {{ template "skywalking.serviceAccountName.oap" . }}
   namespace: {{ .Release.Namespace }}
+{{- if .Values.satellite.enabled }}

Review comment:
       From the oap and satellite's manifests, they would be in the same namespace, which means a role with getting/listing pods is enough to satellite instead of a cluster role.
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755898474



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +46,29 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53

Review comment:
       OK if that's the case, it means you cannot run the tests locally without manually cloning/copying the main repo to a specific location, I'd rather copy those files or put the `checkout` step into the `e2e.yaml`.
   
   Also, you cannot simply use `OAP_TAG: latest` (line 30) and `UI_TAG: latest` (line 32) when you use a specific revision of the expected files, they might break in the future.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755740498



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       Who provides this `github.sha`?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755771261



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       > > We need to do this because the E2E kind environment should load these images from the local machine, if the images could not be found in the local machine the E2E will fail, it couldn't auto pull for now.
   > 
   > 
   > 
   > The answer is not not to load the public images into the KinD because there is no need
   
   Ok, you are right. It's don't need to pull first, because it's public. I will change it. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755771459



##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       No need to `load`, I think this is what we wanted to say actually.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r757998612



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -27,9 +27,12 @@ on:
 env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  OAP_REPO: ghcr.io/apache/skywalking/oap
+  UI_TAG: cef4f6dcac5b14cd67f51a64ad08052bbc046653
+  UI_REPO: ghcr.io/apache/skywalking/ui
+  SATELLITE_TAG: v64f1938e118e95b8d8f50756f666e4777ce6aca2
+  SATELLITE_REPO: ghcr.io/apache/skywalking-satellite/skywalking-satellite

Review comment:
       How is this resolved ? The env vars are still here




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 edited a comment on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 edited a comment on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979675506


   > If you set the principle of deploying XYZ in showcase as tech level mandatory,
   
   Hey that's not what I mean, we have agent services and agentless services and agent is not mandatory tech in SkyWalking but we deploy them still. (I just want to cover more general scenarios that users have).  Let's find another way to add Satellite into showcase. Now we have many feature flags that users can choose to deploy a subset of features of SkyWalking(though we enable all features by default), let's add another feature flag `satellite` that deploys Satellite and makes all agents and ALS connect to it, and enable this feature by default (on demo.skywalking.a.o), but users can have a chance to remove `satellite` feature and make `agent` connect to OAP directly. WDYT?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755754814



##########
File path: chart/skywalking/values.yaml
##########
@@ -373,5 +373,34 @@ elasticsearch:
 
   keystore: []
 
+satellite:
+  name: satellite
+  replicas: 1
+  enabled: false
+  image:
+    repository: skywalking.docker.scarf.sh/apache/skywalking-satellite
+    tag: null # Must be set explicitly
+    pullPolicy: IfNotPresent
+  ports:
+    grpc: 11800
+    prometheus: 1234
+  service:
+    type: ClusterIP
+  antiAffinity: "soft"
+  nodeAffinity: {}
+  nodeSelector: {}
+  tolerations: []
+  resources: {}
+    # limits:
+    #   cpu: 4
+    #   memory: 8Gi
+    # requests:
+    #   cpu: 4
+    #   memory: 4Gi
+  podAnnotations:
+    # example: oap-foo
+  env:
+    # more env, please refer to https://hub.docker.com/r/apache/skywalking-satellite

Review comment:
       fix to using official documentation for satellite.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755755396



##########
File path: README.md
##########
@@ -116,6 +116,16 @@ helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RE
   -f ./skywalking/values-my-es.yaml
 ```
 
+## Install SkyWalking with Satellite
+
+Enable the satellite as gateway, and set the satellite image tag.
+
+```shell script
+helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
+  --set satellite.enabled=true \
+  --set satellite.image.tag=v0.3.0
+```

Review comment:
       been added, please take a look.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] mrproliu commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755755251



##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -28,8 +28,10 @@ env:
   SKIP_TEST: true
   ISTIO_VERSION: 1.7.1
   TAG: ${{ github.sha }}
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+  OAP_TAG: ${{ github.sha }}

Review comment:
       Change to using the snapshot version, no need to use build-in `sha` again.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 edited a comment on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 edited a comment on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979675506


   > If you set the principle of deploying XYZ in showcase as tech level mandatory,
   
   Hey that's not what I mean, we have agent services and agentless services and agent is not mandatory tech in SkyWalking but we deploy them still. (I just want to cover more general scenarios that users have).  Let's find another way to add Satellite into showcase. Now we have many feature flags that users can choose to deploy a subset of features of SkyWalking, let's add another feature flag `satellite` that deploys Satellite and makes all agents and ALS connect to it, and enable this feature by default (on demo.skywalking.a.o), but users can have a chance to remove `satellite` feature and make `agent` connect to OAP directly. WDYT?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] kezhenxu94 commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
kezhenxu94 commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r755734367



##########
File path: chart/skywalking/values.yaml
##########
@@ -373,5 +373,34 @@ elasticsearch:
 
   keystore: []
 
+satellite:
+  name: satellite
+  replicas: 1
+  enabled: false
+  image:
+    repository: skywalking.docker.scarf.sh/apache/skywalking-satellite
+    tag: null # Must be set explicitly
+    pullPolicy: IfNotPresent
+  ports:
+    grpc: 11800
+    prometheus: 1234
+  service:
+    type: ClusterIP
+  antiAffinity: "soft"
+  nodeAffinity: {}
+  nodeSelector: {}
+  tolerations: []
+  resources: {}
+    # limits:
+    #   cpu: 4
+    #   memory: 8Gi
+    # requests:
+    #   cpu: 4
+    #   memory: 4Gi
+  podAnnotations:
+    # example: oap-foo
+  env:
+    # more env, please refer to https://hub.docker.com/r/apache/skywalking-satellite

Review comment:
       There is nothing env can be referred in this link https://hub.docker.com/r/apache/skywalking-satellite

##########
File path: .github/workflows/e2e.ci.yaml
##########
@@ -43,98 +45,41 @@ jobs:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
       - uses: actions/cache@v2
         with:
           path: ~/.m2/repository
           key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
           restore-keys: ${{ runner.os }}-maven-
 
-      - name: Build Docker Image
+      - name: Build SkyWalking OAP Docker Image

Review comment:
       Replace this step with the snapshot docker images from main repo, no need to build here

##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:

Review comment:
       We usually don't run workflow on push

##########
File path: .github/workflows/e2e.compatibility.yaml
##########
@@ -18,98 +18,66 @@ name: Test Compatibility
 
 on:
   pull_request:
+  push:
     paths:
       - '!**.md'
+    branches:
+      - master
 
 env:
   ISTIO_VERSION: 1.7.1
-  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
 
 jobs:
   als:
     runs-on: ubuntu-latest
     timeout-minutes: 60
     strategy:
       matrix:
-        tag:
-          - 8.3.0-es6
+        images:
+          - oap-repo: skywalking.docker.scarf.sh/apache/skywalking-oap-server
+            oap-tag: 8.6.0-es6
+            ui-repo: skywalking.docker.scarf.sh/apache/skywalking-ui
+            ui-tag: 8.6.0
     env:
-      TAG: ${{ matrix.tag }}
-    name: ${{ matrix.tag }}
+      OAP_TAG: ${{ matrix.images.oap-tag }}
+      OAP_REPO: ${{ matrix.images.oap-repo }}
+      UI_TAG: ${{ matrix.images.ui-tag }}
+      UI_REPO: ${{ matrix.images.ui-repo }}
+    name: als_${{ matrix.images.oap-tag }}
     steps:
       - uses: actions/checkout@v2
       - uses: actions/checkout@v2
         with:
           repository: apache/skywalking
           submodules: true
           path: main
-          ref: 5e4b16cbfc96f80bd86eb6a98ddcf60f0959c9b1
-
-      - name: Prepare envrionment
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        run: |
-          cd chart
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.tag=${TAG//-es*} \
-               --set oap.image.tag=$TAG \
-               --set oap.storageType=elasticsearch
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        run: bash ${SCRIPTS_DIR}/demo.sh
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
+          ref: 8436135dc919351a6d0ab42ff48c85e1b3104b53
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking-satellite
+          submodules: true
+          path: satellite
+          ref: 4b97fd255b6459fe9d3fc4f88c0d8f682fc2a364
 
-      - name: Set up Minikube tunnel
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+      - name: Build SkyWalking Satellite Docker Image
+        run: cd satellite && make docker && cd ..
 
-      - name: Run E2E test
+      - name: Load SkyWalking OAP And UI Image
         run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+          docker pull $OAP_REPO:$OAP_TAG
+          docker pull $UI_REPO:$UI_TAG

Review comment:
       No need to do this




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng edited a comment on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng edited a comment on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979655559


   > > Once recent optimization are done, we should add document about how to set up load balancer in the main doc, and provide it(next release) as activated component in the showcase.
   > > Please submit an issue to track for doc and showcase.
   > 
   > Just a reminder, satellite is not mandatory so we won't make all agent services connect to it in showcase, as we have 2 Java services (gateway and songs) we can make one of them send data to satellite and leave all others as is.
   
   With time, more and more verification, could come from the product env(end users), if all are good, I would like to put it as recommended. In all these days perf testing and load balance testing, connection based load balance has very clear disadvantage, but most proxies are only supporting this way.
   Users complained many times, now, we have the solution.
   So, once we confirm Satellite is good, it should be some kind of mandatory(recommended as it is better to have). Does this make sense to you?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng commented on pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#issuecomment-979711421


   I don't want showcase becomes another challenge to new users. Features related are complex enough so far.
   Let's keep satellite out for now.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] hanahmily commented on a change in pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
hanahmily commented on a change in pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83#discussion_r756536362



##########
File path: chart/skywalking/templates/oap-clusterrolebinding.yaml
##########
@@ -31,4 +31,9 @@ subjects:
 - kind: ServiceAccount
   name: {{ template "skywalking.serviceAccountName.oap" . }}
   namespace: {{ .Release.Namespace }}
+{{- if .Values.satellite.enabled }}

Review comment:
       sure. I feel free to add a new one




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking-kubernetes] wu-sheng merged pull request #83: Add skywalking satellite support

Posted by GitBox <gi...@apache.org>.
wu-sheng merged pull request #83:
URL: https://github.com/apache/skywalking-kubernetes/pull/83


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org