diff --git a/.env.development b/.env.development index 9b8e2098704b..f3bf5740a2a3 100644 --- a/.env.development +++ b/.env.development @@ -1 +1,2 @@ -GATSBY_GRAPHQL_IDE=playground +GATSBY_GRAPHQL_IDE=playground +GATSBY_DEV_AMENDED=false \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 000000000000..7a54a8a6e775 --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +GATSBY_DEV_AMENDED=false \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 573d5350fd4f..c6725eb1f412 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -94,5 +94,28 @@ module.exports = { "space-infix-ops": [ "error" ] - } + }, + "overrides": [ + { + "files": ["*.mdx", "*.md"], + "extends": ["plugin:mdx/recommended"], + "settings": { + "mdx/code-blocks": true, + "mdx/language-mapper": {}, + }, + "rules": { + //these eslint rule exceptions allow for checklint to run and lint mdx files are compatible with MDXv2, and not error out due to react/eslint rules + "semi": 0, + "indent": 0, + "no-trailing-spaces": 0, + "object-curly-spacing": 0, + "space-infix-ops": 0, + "no-irregular-whitespace": 0, + "no-unused-expressions": 0, + "linebreak-style": 0, + "react/jsx-no-undef": 0, + "no-unused-vars": 0, + } + } + ], }; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b16dfbc932ee..87be7d4c85db 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,29 +1,36 @@ ---- -name: 🐛 Bug Report -about: Report an issue to help us improve -title: '' -labels: 'kind/bug' -assignees: '' ---- -### Description - - -### Expected Behavior - - -### Screenshots - - -### Environment: -- Host OS: -- Browser: - ---- -
Use this only when Automatic Sidecar injection doesn't work
- -To do a manual sidecar injection we will be using `istioctl` command: - -```sh -curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - > newBookInfo.yaml -``` - -Observing the new yaml file reveals that additional container Istio Proxy has been added to the Pods with necessary configurations: - -``` - image: docker.io/istio/proxyv2:1.3.0 - imagePullPolicy: IfNotPresent - name: istio-proxy -``` - -We need to now deploy the new yaml using `kubectl` - -```sh -kubectl apply -f newBookInfo.yaml -``` - -To do both in a single command: - -```sh -kubectl apply -f <(curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f -) -``` - -Now continue to [Verify Bookinfo deployment](#verify). - -Use this only when Automatic Sidecar injection doesn't work
+ +To do a manual sidecar injection we will be using `istioctl` command: + +```sh +curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - > newBookInfo.yaml +``` + +Observing the new yaml file reveals that additional container Istio Proxy has been added to the Pods with necessary configurations: + +``` + image: docker.io/istio/proxyv2:1.3.0 + imagePullPolicy: IfNotPresent + name: istio-proxy +``` + +We need to now deploy the new yaml using `kubectl` + +```sh +kubectl apply -f newBookInfo.yaml +``` + +To do both in a single command: + +```sh +kubectl apply -f <(curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f -) +``` + +Now continue to [Verify Bookinfo deployment](#verify). + +- Manual step for can be found here -
- -This will update the existing destination rule definition for product page service to break the circuit if there are more than one connection and more than one pending request. - -In a few, we should be able to verify the destination rule by using the command below: - -```sh -kubectl get destinationrule productpage -o yaml -``` - -Config: - -```yaml -apiVersion: networking.istio.io/v1alpha3 -kind: DestinationRule -metadata: - name: productpage -spec: - host: productpage - subsets: - - /obserlabels: - version: v1 - name: v1 - trafficPolicy: - connectionPool: - http: - http1MaxPendingRequests: 1 - maxRequestsPerConnection: 1 - tcp: - maxConnections: 1 - outlierDetection: - baseEjectionTime: 3m - consecutiveErrors: 1 - interval: 1s - maxEjectionPercent: 100 - tls: - mode: ISTIO_MUTUAL -``` - -+ Manual step for can be found here +
+ +This will update the existing destination rule definition for product page service to break the circuit if there are more than one connection and more than one pending request. + +In a few, we should be able to verify the destination rule by using the command below: + +```sh +kubectl get destinationrule productpage -o yaml +``` + +Config: + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + name: productpage +spec: + host: productpage + subsets: + - /obserlabels: + version: v1 + name: v1 + trafficPolicy: + connectionPool: + http: + http1MaxPendingRequests: 1 + maxRequestsPerConnection: 1 + tcp: + maxConnections: 1 + outlierDetection: + baseEjectionTime: 3m + consecutiveErrors: 1 + interval: 1s + maxEjectionPercent: 100 + tls: + mode: ISTIO_MUTUAL +``` + +Use this only when Automatic Sidecar injection doesn't work
- -To do a manual sidecar injection we will be using `istioctl` command: - -```sh -curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - > newBookInfo.yaml -``` - -Observing the new yaml file reveals that additional container Istio Proxy has been added to the Pods with necessary configurations: - -``` - image: docker.io/istio/proxyv2:1.3.0 - imagePullPolicy: IfNotPresent - name: istio-proxy -``` - -We need to now deploy the new yaml using `kubectl` - -```sh -kubectl apply -f newBookInfo.yaml -``` - -To do both in a single command: - -```sh -kubectl apply -f <(curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f -) -``` - -Now continue to [Verify Bookinfo deployment](#verify). - -Use this only when Automatic Sidecar injection doesn't work
+ +To do a manual sidecar injection we will be using `istioctl` command: + +```sh +curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - > newBookInfo.yaml +``` + +Observing the new yaml file reveals that additional container Istio Proxy has been added to the Pods with necessary configurations: + +``` + image: docker.io/istio/proxyv2:1.3.0 + imagePullPolicy: IfNotPresent + name: istio-proxy +``` + +We need to now deploy the new yaml using `kubectl` + +```sh +kubectl apply -f newBookInfo.yaml +``` + +To do both in a single command: + +```sh +kubectl apply -f <(curl https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f -) +``` + +Now continue to [Verify Bookinfo deployment](#verify). + +
- );
- }
- },
- CTA_ImageOnly,
- CTA_FullWidth,
- CTA_Bottom
-};
-
export const wrapRootElement = ({ element }) => (
WSL2 IP
-
-```bash
-export mainIP=`hostname -I | awk '{ print $1 }'`
-k3d list
-k3d create --workers 3 --api-port ${mainIP}:6443
-export KUBECONFIG="$(k3d get-kubeconfig --name='k3s-default')"
-kubectl cluster-info
-```
-
-
-
-
-WSL2 IP
instead of localhost
-
-```bash
-export BROWSER=/mnt/c/Firefox/firefox.exe
-$BROWSER $mainIP:9081 &
-```
-
-
-
-
-
-
-
-
-
-#### [Optional] More analytics with Grafana
-As stated above, Meshery can leverage the analytics provided by Grafana. For this blog post, as everything is built from scratch. Here is the setup for a new Grafana dockerized instance.
-
-Start a new Grafana on docker instance
-
-```bash
-docker run \
--d \
--p 3000:3000 \
---name=grafana \
--e "GF_SERVER_ROOT_URL=http://$mainIP" \
--e "GF_SECURITY_ADMIN_PASSWORD=MesheryInstance" \
-grafana/grafana
-```
-
-
-
-
-
-- Access the new instance with the admin password that you set in the docker environment variable
-```bash
-$BROWSER $mainIP:3000 &
-```
-
-
-
-
- WSL2 IP
+
+```bash
+export mainIP=`hostname -I | awk '{ print $1 }'`
+k3d list
+k3d create --workers 3 --api-port ${mainIP}:6443
+export KUBECONFIG="$(k3d get-kubeconfig --name='k3s-default')"
+kubectl cluster-info
+```
+
+
+
+
+WSL2 IP
instead of localhost
+
+```bash
+export BROWSER=/mnt/c/Firefox/firefox.exe
+$BROWSER $mainIP:9081 &
+```
+
+
+
+
+
+
+
+
+
+#### [Optional] More analytics with Grafana
+As stated above, Meshery can leverage the analytics provided by Grafana. For this blog post, as everything is built from scratch. Here is the setup for a new Grafana dockerized instance.
+
+Start a new Grafana on docker instance
+
+```bash
+docker run \
+-d \
+-p 3000:3000 \
+--name=grafana \
+-e "GF_SERVER_ROOT_URL=http://$mainIP" \
+-e "GF_SECURITY_ADMIN_PASSWORD=MesheryInstance" \
+grafana/grafana
+```
+
+
+
+
+
+- Access the new instance with the admin password that you set in the docker environment variable
+```bash
+$BROWSER $mainIP:3000 &
+```
+
+
+
+
+- | or this | -- |
+ | or this | ++ |
Status | -Adapter | - - -
---|---|
stable | -|
- Meshery adapter for Istio - | -|
- Meshery adapter for Linkerd - | -|
- Meshery adapter for Consul - | -|
- Meshery adapter for Octarine - | -|
- Meshery adapter for Network Service Mesh - | -|
beta | -- Meshery adapter for Citrix CPX - | -
alpha | -|
- Meshery adapter for Maesh - | -|
- Meshery adapter for App Mesh - | -|
- Meshery adapter for Kuma - | -|
kubectl config current-context
)Status | +Adapter | + + +
---|---|
stable | +|
+ Meshery adapter for Istio + + | +|
Meshery adapter for Linkerd | +|
Meshery adapter for Consul | +|
Meshery adapter for Octarine | +|
Meshery adapter for Network Service Mesh | +|
beta | ++ Meshery adapter for Citrix CPX + + | +
alpha | +|
+ Meshery adapter for Maesh + + | +|
+ Meshery adapter for App Mesh + + | +|
+ Meshery adapter for Kuma + + | +|
kubectl config current-context
)Platform | -Supported? | -
---|---|
Docker | -✔️ | -
- Docker - Docker App | -✔️ | -
Kubernetes | -✔️ | -
- Kubernetes - AKS | -✔️ | -
- Kubernetes - Docker Desktop | -✔️ | -
- Kubernetes - EKS | -✔️ | -
- Kubernetes - GKE | -✔️ | -
- Kubernetes - Helm | -✔️ | -
- Kubernetes - Minikube | -✔️ | -
- Kubernetes - OpenShift | -In Progress | -
Linux | -✔️ | -
Mac | -✔️ | -
- Mac - Homebrew | -✔️ | -
Windows | -✔️ | -
- Scoop | -✔️ | -
- WSL2 | -✔️ | -
Raspberry Pi | -In Progress | -
a running Docker daemon |
One of the most interesting sub-commands of mesheryctl is perf . |
Platform | +Supported? | +
---|---|
Docker | +✔️ | +
- Docker - Docker App | +✔️ | +
Kubernetes | +✔️ | +
- Kubernetes - AKS | +✔️ | +
- Kubernetes - Docker Desktop | +✔️ | +
- Kubernetes - EKS | +✔️ | +
- Kubernetes - GKE | +✔️ | +
- Kubernetes - Helm | +✔️ | +
- Kubernetes - Minikube | +✔️ | +
- Kubernetes - OpenShift | +In Progress | +
Linux | +✔️ | +
Mac | +✔️ | +
- Mac - Homebrew | +✔️ | +
Windows | +✔️ | +
- Scoop | +✔️ | +
- WSL2 | +✔️ | +
Raspberry Pi | +In Progress | +
a running Docker daemon |
One of the most interesting sub-commands of mesheryctl is perf . |
As already mentioned - Layer5 is a very welcoming bunch!
- -Open source contributions are a must-do for becoming a true cloud native hero. Cloud native is all about the community and one can't be a part of a community by only taking and never giving back. So if you were looking for a promising and welcoming project to join - look no further! Hop on to Layer5 Slack and we'll happily embrace you and help you get started. - -And it's not only coding! Documentation, testing, UI design, logos, blogs, videos - you decide where to apply your talent. - -For example - I sometimes wish I had more time and motivation to code new Meshery features or fix existing bugs. But instead I'm writing this post. Because lately I enjoy writing texts more than coding. Coding for longer than a couple of days at a time throws me into a coding fatigue… Actually also many other activities do. I'm just not very good at keeping a routine. But I'm sure many of you out there aren't like me. So why not join forces? - -### Join the cloud native community! - -* Meshery is an exciting opportunity to learn more about service meshes. -* We're already on CNCF Landscape and are headed for the sandbox. -* Now is a great time to hop on board. Are you ready? Get into the mesh pit! - - -As already mentioned - Layer5 is a very welcoming bunch!
+ +Open source contributions are a must-do for becoming a true cloud native hero. Cloud native is all about the community and one can't be a part of a community by only taking and never giving back. So if you were looking for a promising and welcoming project to join - look no further! Hop on to Layer5 Slack and we'll happily embrace you and help you get started. + +And it's not only coding! Documentation, testing, UI design, logos, blogs, videos - you decide where to apply your talent. + +For example - I sometimes wish I had more time and motivation to code new Meshery features or fix existing bugs. But instead I'm writing this post. Because lately I enjoy writing texts more than coding. Coding for longer than a couple of days at a time throws me into a coding fatigue… Actually also many other activities do. I'm just not very good at keeping a routine. But I'm sure many of you out there aren't like me. So why not join forces? + +### Join the cloud native community! + +* Meshery is an exciting opportunity to learn more about service meshes. +* We're already on CNCF Landscape and are headed for the sandbox. +* Now is a great time to hop on board. Are you ready? Get into the mesh pit! + + +-I was introduced to the Layer5 community by our very own Lee Calcote, and since then I have been exploring the vast world of service meshes and their performance characteristics. Before being accepted as a Google Summer of Code intern, I had been working with the Layer5 community as an active contributor, exploring various new DevOps tooling like service meshes, the sidecar concept, and performance benchmarking of services. I have had a run-in with the Kubernetes community before and initially believed Kubernetes to be the final stage of DevOps, but I was happily surprised when I found out that the end of Kubernetes merely marked the entrypoint to a whole new world of service meshes. -
--And so, we reach the beginning of my GSoC 2020 internship, which began on the night of May 3rd, 2020 when I learned that I had been selected as a GSoC Participant with the Cloud Native Computing Foundation (CNCF). Admittedly, I had tried my best an year ago to get into GSoC’19 with another organisation but due to reasons only Google can tell you, I was not accepted. Everything happens for a reason though, right? -Six months ago, if you would have told me that I would be working with service meshes, gRPC, load testing, performance benchmarking alongside prominent members of the open source world of Cloud Native, I would have ignored you with the least possible amount of prudence I could muster. -
- --My GSoC project is to Enable Distributed Load Testing for various Service Mesh Planes using Envoy Nighthawk. For those who are not familiar with Nighthawk, it is a performance benchmark tool written and maintained by the Envoy community. We are in the process of incorporating Nighthawk into Meshery - the cloud native management plane.Meshery already supports performance testing of service meshes using fortio & wrk2 and is maintained by the Layer5 community and is also a member of CNCF Landscape. Alongside this effort, we are creating a new industry standard: Service Mesh Performance Specification which is another initiative of the Layer5 community to establish a common format for describing and capturing service mesh performance. -
--It has been a month since I have started my GSoC’20 tenure with the Layer5 community, and in this month, I have learned a lot from my code contributions and mentor. I began with setting up the project roadmap and discussing the potential use cases of Nighthawk with its maintainers during my community bonding period. I came to know some incredible people during the community bonding from big tech giants like Google, Facebook, Microsoft, Affirmed Networks, Red Hat and many more to list. Before incorporating Nighthawk, we had to make various enhancements in Meshery, like adding user preferences for performance settings, specifying the SMPS format for exporting and importing of load-test preferences, load-generator interface and more. -
--I have learned a hoard of new things, like gRPC services and how they communicate using protocol buffers, load generation using fortio, writing handlers for various endpoints using golang, and some frontend architecture with Nextjs. -
- - --Layer5 has one of the healthiest open source communities that I have ever worked with. In the past, I have worked with a variety of well-maintained and large scale open source communities but I have never experienced a more welcoming and nurturing environment than Layer5. At Layer5, we respect each contributor and their contributions, whether it is a new adapter or just a typo fix. If you can contribute, please do. It’s that simple! With many awesome initiatives like SMPS, Distributed Load Testing, Performance Benchmarking, Learn Layer5, and Image Hub, the exponential increase of Layer5 and its various projects is inevitable. -
- - -_**P.S.: If these topics excite you and you want to explore the beautiful realm of service meshes, come and say "Hi" on our [Slack Channel](http://slack.layer5.io) and one of us will reach out to you!**_ - -+I was introduced to the Layer5 community by our very own Lee Calcote, and since then I have been exploring the vast world of service meshes and their performance characteristics. Before being accepted as a Google Summer of Code intern, I had been working with the Layer5 community as an active contributor, exploring various new DevOps tooling like service meshes, the sidecar concept, and performance benchmarking of services. I have had a run-in with the Kubernetes community before and initially believed Kubernetes to be the final stage of DevOps, but I was happily surprised when I found out that the end of Kubernetes merely marked the entrypoint to a whole new world of service meshes. +
++And so, we reach the beginning of my GSoC 2020 internship, which began on the night of May 3rd, 2020 when I learned that I had been selected as a GSoC Participant with the Cloud Native Computing Foundation (CNCF). Admittedly, I had tried my best an year ago to get into GSoC’19 with another organisation but due to reasons only Google can tell you, I was not accepted. Everything happens for a reason though, right? +Six months ago, if you would have told me that I would be working with service meshes, gRPC, load testing, performance benchmarking alongside prominent members of the open source world of Cloud Native, I would have ignored you with the least possible amount of prudence I could muster. +
+ ++My GSoC project is to Enable Distributed Load Testing for various Service Mesh Planes using Envoy Nighthawk. For those who are not familiar with Nighthawk, it is a performance benchmark tool written and maintained by the Envoy community. We are in the process of incorporating Nighthawk into Meshery - the cloud native management plane.Meshery already supports performance testing of service meshes using fortio & wrk2 and is maintained by the Layer5 community and is also a member of CNCF Landscape. Alongside this effort, we are creating a new industry standard: Service Mesh Performance Specification which is another initiative of the Layer5 community to establish a common format for describing and capturing service mesh performance. +
++It has been a month since I have started my GSoC’20 tenure with the Layer5 community, and in this month, I have learned a lot from my code contributions and mentor. I began with setting up the project roadmap and discussing the potential use cases of Nighthawk with its maintainers during my community bonding period. I came to know some incredible people during the community bonding from big tech giants like Google, Facebook, Microsoft, Affirmed Networks, Red Hat and many more to list. Before incorporating Nighthawk, we had to make various enhancements in Meshery, like adding user preferences for performance settings, specifying the SMPS format for exporting and importing of load-test preferences, load-generator interface and more. +
++I have learned a hoard of new things, like gRPC services and how they communicate using protocol buffers, load generation using fortio, writing handlers for various endpoints using golang, and some frontend architecture with Nextjs. +
+ + ++Layer5 has one of the healthiest open source communities that I have ever worked with. In the past, I have worked with a variety of well-maintained and large scale open source communities but I have never experienced a more welcoming and nurturing environment than Layer5. At Layer5, we respect each contributor and their contributions, whether it is a new adapter or just a typo fix. If you can contribute, please do. It’s that simple! With many awesome initiatives like SMPS, Distributed Load Testing, Performance Benchmarking, Learn Layer5, and Image Hub, the exponential increase of Layer5 and its various projects is inevitable. +
+ + +_**P.S.: If these topics excite you and you want to explore the beautiful realm of service meshes, come and say "Hi" on our [Slack Channel](http://slack.layer5.io) and one of us will reach out to you!**_ + +- Single Control Plane with Multiple Data Plane each with separate Ingress - Gateway -
- -- Creation of Control Plane CR and Data Plane CR - A sample CR for creation of the Control plane and Data Plane CR can be referred below : - ```sh - $ cat iop-platform.yaml - apiVersion: install.istio.io/v1alpha1 - kind: IstioOperator - metadata: - namespace: istio-system - name: platform-istiocontrolplane - spec: - profile: demo - $ cat iop-wk1-gw.yaml - apiVersion: install.istio.io/v1alpha1 - kind: IstioOperator - metadata: - namespace: istio-system - name: wk1-gwconfig - spec: - profile: empty - components: - ingressGateways: - — name: wk1-ingressgw - namespace: workspace-1 - enabled: true - label: - istio: ingressgateway-1 - app: istio-ingressgateway-1 - values: - gateways: - istio-ingressgateway: - debug: error - $ cat iop-wk2-gw.yaml - apiVersion: install.istio.io/v1alpha1 - kind: IstioOperator - metadata: - namespace: istio-system - name: wk2-gwconfig - spec: - profile: empty - components: - ingressGateways: - — name: wk2-ingressgw - namespace: workspace-2 - enabled: true - label: - istio: ingressgateway-2 - app: istio-ingressgateway-2 - values: - gateways: - istio-ingressgateway: - debug: error - ``` - -It is important to make sure the indentation is correct ,otherwise it would lead to errors. -Reference: [Istio Website](https://istio.io/latest/docs/setup/install/) - -Deploy the CRs using kubectl: - -```sh -$ kubectl create ns istio-system -$ kubectl create ns workspace-1 -$ kubectl create ns workspace-2 -$ kubectl apply -f ../iop-platform.yaml -istiooperator.install.istio.io/platform-istiocontrolplane created -$ kubectl apply -f ../iop-wk1-gw.yaml -istiooperator.install.istio.io/wk1-gwconfig configured -$ kubectl apply -f ../iop-wk2-gw.yaml -istiooperator.install.istio.io/wk2-gwconfig configured -``` - -- Troubleshooting the Istio Operator Controller. - Its a good idea to run another window and execute the below command to observe the running logs on the controller pod. - ```sh - $ kubectl logs -f -n istio-operator - $(kubectl get pods -n istio-operator -lname=istio-operator -o jsonpath=’{.items[0].metadata.name}’) - ``` - - - -- Observe the created objects in istio-system and the workspace namespaces for all pods to be in running state. - - ```sh - $ kubectl get all -n istio-system - NAME READY STATUS RESTARTS AGE - pod/grafana-b54bb57b9-k84xf 1/1 Running 0 79s - pod/istio-egressgateway-77c7d594c5-fr79j 1/1 Running 0 83s - pod/istio-ingressgateway-766c84dfdc-p6g6t 1/1 Running 0 83s - pod/istio-tracing-9dd6c4f7c-ndjvn 1/1 Running 0 79s - pod/istiod-7b69ff6f8c-9gwp8 1/1 Running 0 94s - pod/kiali-d45468dc4–4sww2 1/1 Running 0 79s - pod/prometheus-5fdfc44fb7–67khx 2/2 Running 0 78s -Kiali view for Workspace-1
- - -Kiali view for Workspace-2
- -Shortly, we will go over the 3rd scenario which is to run multiple Istio Control Planes (Multiple Service Meshes) within the same Kubernetes Cluster. For that, we will need to build an open-shift setup and deploy the Maistra Istio Operator. -Special thanks to the [Istio Community](https://istio.slack.com/) for helping me understand the concepts and also answering my queries and of course to [Lee Calcote](https://calcotestudios.com/talks/), who helped me embark on my Istio journey. - - - -+ Single Control Plane with Multiple Data Plane each with separate Ingress + Gateway +
+ +- Creation of Control Plane CR and Data Plane CR + A sample CR for creation of the Control plane and Data Plane CR can be referred below : + ```sh + $ cat iop-platform.yaml + apiVersion: install.istio.io/v1alpha1 + kind: IstioOperator + metadata: + namespace: istio-system + name: platform-istiocontrolplane + spec: + profile: demo + $ cat iop-wk1-gw.yaml + apiVersion: install.istio.io/v1alpha1 + kind: IstioOperator + metadata: + namespace: istio-system + name: wk1-gwconfig + spec: + profile: empty + components: + ingressGateways: + — name: wk1-ingressgw + namespace: workspace-1 + enabled: true + label: + istio: ingressgateway-1 + app: istio-ingressgateway-1 + values: + gateways: + istio-ingressgateway: + debug: error + $ cat iop-wk2-gw.yaml + apiVersion: install.istio.io/v1alpha1 + kind: IstioOperator + metadata: + namespace: istio-system + name: wk2-gwconfig + spec: + profile: empty + components: + ingressGateways: + — name: wk2-ingressgw + namespace: workspace-2 + enabled: true + label: + istio: ingressgateway-2 + app: istio-ingressgateway-2 + values: + gateways: + istio-ingressgateway: + debug: error + ``` + +It is important to make sure the indentation is correct ,otherwise it would lead to errors. +Reference: [Istio Website](https://istio.io/latest/docs/setup/install/) + +Deploy the CRs using kubectl: + +```sh +$ kubectl create ns istio-system +$ kubectl create ns workspace-1 +$ kubectl create ns workspace-2 +$ kubectl apply -f ../iop-platform.yaml +istiooperator.install.istio.io/platform-istiocontrolplane created +$ kubectl apply -f ../iop-wk1-gw.yaml +istiooperator.install.istio.io/wk1-gwconfig configured +$ kubectl apply -f ../iop-wk2-gw.yaml +istiooperator.install.istio.io/wk2-gwconfig configured +``` + +- Troubleshooting the Istio Operator Controller. + Its a good idea to run another window and execute the below command to observe the running logs on the controller pod. + ```sh + $ kubectl logs -f -n istio-operator + $(kubectl get pods -n istio-operator -lname=istio-operator -o jsonpath=’{.items[0].metadata.name}’) + ``` + + + +- Observe the created objects in istio-system and the workspace namespaces for all pods to be in running state. + + ```sh + $ kubectl get all -n istio-system + NAME READY STATUS RESTARTS AGE + pod/grafana-b54bb57b9-k84xf 1/1 Running 0 79s + pod/istio-egressgateway-77c7d594c5-fr79j 1/1 Running 0 83s + pod/istio-ingressgateway-766c84dfdc-p6g6t 1/1 Running 0 83s + pod/istio-tracing-9dd6c4f7c-ndjvn 1/1 Running 0 79s + pod/istiod-7b69ff6f8c-9gwp8 1/1 Running 0 94s + pod/kiali-d45468dc4–4sww2 1/1 Running 0 79s + pod/prometheus-5fdfc44fb7–67khx 2/2 Running 0 78s +Kiali view for Workspace-1
+ + +Kiali view for Workspace-2
+ +Shortly, we will go over the 3rd scenario which is to run multiple Istio Control Planes (Multiple Service Meshes) within the same Kubernetes Cluster. For that, we will need to build an open-shift setup and deploy the Maistra Istio Operator. +Special thanks to the [Istio Community](https://istio.slack.com/) for helping me understand the concepts and also answering my queries and of course to [Lee Calcote](https://calcotestudios.com/talks/), who helped me embark on my Istio journey. + + + +I was introduced to the world of open source through the Meshery project in the august of 2019 and have since then been continuously exploring the farthest reaches of Meshery, Layer5, the parent SMI project and consecutively the CNCF landscape. - -At the time of writing this, I have been a part of the Meshery project for about a year. Fascinated by the concept and further lured in by the welcoming community at Layer5, I was soon dipping my toes into the tidal wave of code. Starting out with small contributions to improve the UI, I stumbled on to my first issue, which was to open a page in a new tab instead of opening it in the same tab. Basic, right? - -I’m pointing this out to unravel the myth and smoke clouds around open source projects. Contributing can be as easy as altering a few lines of code and can be as meaningful as writing a whole new feature adapter. Since then, I have crossed small and big hurdles, meandering through countless issues and have become a part of the wholesome community, gaining friends and mentors along the way.
- -### Stepping stones - -Let’s begin with the basics. What is Layer5? - -Layer5 is the service mesh company, which has built (or is in the process of building) an exhaustive set of projects to delve into the world of cloud native and service meshes with in-depth analyses. Intrigued? Checkout the [Layer5](https://layer5.io/) site and hop on to our [GitHub](https://github.com/layer5io) bandwagon. Before you do me the favor of reading on, make sure to click on the little star :star: button to help us stir up some more delectable meshiness. - -### Roadblocks - -Coming to my contributions at Layer5, I have mostly been involved in improving the UI and shaping the company site’s present outlook. I have also tried my hand at other projects, including the `mesheryctl` and the `landscape` at Layer5. In fact, here is a comprehensive list of **[my contributions across Layer5 projects](https://github.com/issues?page=1&q=is%3Aclosed+author%3ANikhil-Ladha+org%3Alayer5io)**. - -The above mentioned links are just the **visible** contributions made by me. With time, I have grown and was soon approached to become a [MeshMate](/community/meshmates), an initiative which involves few seasoned contributors like me who will hold the hand of a new member and help him/her bridge the gap and take the leap into open source. - -### Tricks of the Trade - -The benefits of being a UI engineer? - -Web developers are required in every company in one meaningful way or the other as every single project needs a frontend to showcase it’s capabilities to the user. Coming to Layer5, the frontend of Meshery is built on React( another masterpiece from Facebook! ), which I learned from scratch when I joined the community. - - - -Now, months have passed and with some healthy dedication and hours of staring at thousands of lines of code, I have a good base and practical experience with React, something which you can’t hope to gain from personal projects and require a community for. - -The Layer5 and Meshery websites are built using Jekyll, another technology about which I didn’t have any practical knowledge a couple of months ago. Easier than react and harder than CSS, Jekyll is perfect for the aspiring web developers out there and is also another reason for you to pop over to the Layer5 repo after reading this article. - -### Meshy goodnessLayer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible.
- I was introduced to the Layer5 community three months back. Being fairly new - to the world of open source and looking for new communities and technology to - delve into, I hopped onto the Layer5 bandwagon and was amazed by the warm - welcome I received from the wholesome community. I had done video animation - jobs on a small scale before, which is what led me to confidently take up the - task of creating a short intro jingle for the various community meetings - hosted on the Layer5 youtube channel. After iterating for about a week, I - finally came up with something worthwhile. And to my elation, it was accepted! - It still warms my heart to see the intro flash before every meeting. -
-- Next up I started work on a next generation model of the layer5.io site. Being - a new project based on Gatsby and heavily relying on React, Javascript and - GraphQL, the site project was a perfect and challenging opportunity for me to - expand on my skill set. Speed learning my way through Gatsby, with a - continuous influx of help and helpful suggestions from my MeshMate, Kush - Trivedi and others within the community, I soon mastered the platform and have - spent weeks on creating countless issues and PRs in hopes of achieving the - project goals. A few months down the line, I started reviewing PRs and began - helping others contribute, something which I had never had the opportunity to - do before! After months of continuous effort, I am proud to write that I - recently joined as a maintainer on the project and was soon approached to be a - MeshMate, which I happily accepted. My learning graph has seen a soaring - positive tangent in the months I have been at Layer5 and I’m looking forward - to an even more educative and rewarding journey ahead 😊 -
-- It was the middle of the COVID-19 pandemic and being unproductive wasn't - something I can stomach. Wanting to expand on my technical domain knowledge, I - stumbled across an open-source challenge for women in tech with lists of - projects to contribute to by the Women of Open Source Community Africa - (WOSCA). My eyes landed on Layer5 and I haven’t looked back since. -
-- A quick look through the repositories left me quaking in my boots. To give you - some much needed context and to give some hope to all the newbies out there, I - recently transitioned to working in technical domains from accounting and - managing construction site projects. Forever getting stuck trying to get my - hands on new tech and trying to find a way into the bewildering and humongous - tech domains , I didn't even understand some of the jargon, and was too - ashamed to ask questions. Stumbling through my first contribution, I somehow - made it to the finish line and to my happiness, was soon assigned another - task. Instead of complaining, I set out to study up on the issue and took a - peek at the other assignees in the repository to ensure that I was not the - only one taking inordinate amounts of time on an issue. To my surprise, I was - not. -
-- I got working on the assignment and soon encountered issues that would - previously have made me quit. Thankfully, I decided to take a different - approach this time. I shared my challenge with the Layer5 community, and was - amazed at the immediate and abundant response I received. Since then, I have - helped other contributors get through their challenges, and have received an - invitation to join the organization as a member, and then as a MeshMate 😎 I - have been wholly satisfied with the learning opportunities and the friendly - environment that the Layer5 community has to offer. I have learned that I may - not be perfect, but by making full use of the resources provided to me, having - a supportive community by my side and by being open to learning and showing - determined courage in the face of difficulties, I can achieve anything! -
-- The field of open source had always been intriguing to me. The idea of a - close-knit community working with an aim had me wanting to contribute myself. - Considering the fact that I have a small skill set (Donned the coder hat only - 6 months ago), Layer5 was a great community for me to start out with. I came - to know about the Layer5 community from the She Code Africa slack channel, - after which I visited the GitHub repository and hopped on to the Layer5 slack channel. -
-- To my good luck, I received a warm welcome from the community and was able to attend a community meeting the day I joined. I made my way through the Github repos and stumbled across a beginner friendly issue. I started work but to my dismay, my PR failed to pass the DCO check at the final rung. Stuck and with low spirits, I talked to Lee (Layer5 Maintainer) and related my problems with the DCO check fail. He patiently assured me that first-time checks can be hard to get right and assigned me a MeshMate, Ashis Singh (read saviour 😳). I sent a message to Ashis and told him about the issues I was having in submitting my Pull Request. He led me through a step by step tutorial on committing and signing off my changes, after which my first PR passed all the checks. I was thrilled at this point, waiting for my PR to be merged. I soon received two emails, the first relaying that my PR had been merged and a few pull requests later, a second one with an invitation to join the Layer5 organization on Github. -
-- Impressed by the process and being passionate about helping others, I soon - began helping out with welcoming newcomers in the Layer5 Community and a happy two months later, I am elated to write that I have helped and held the hand of many-a contributors into Open-Source, offering them the same warm welcome that I had received. I was soon promoted to become a MeshMate. Apart from adding another feather to my cap, this also helped me enhance my own skill set and reach in a dozen different directions.The most intriguing fact about the Layer5 community is how welcoming it is. You can contribute something, even as a beginner, no matter how small your skillset is. I have been through the same journey and I recommend it to everyone reading. Experience an open-source community with Layer5 today! Once you’re set up on Slack, do send me a ping to - say hi. The exciting part, we might even meet as MeshMates 😉 -
- - \- Tanuj, Ruth, and Kelechi - -Layer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible.
+ I was introduced to the Layer5 community three months back. Being fairly new + to the world of open source and looking for new communities and technology to + delve into, I hopped onto the Layer5 bandwagon and was amazed by the warm + welcome I received from the wholesome community. I had done video animation + jobs on a small scale before, which is what led me to confidently take up the + task of creating a short intro jingle for the various community meetings + hosted on the Layer5 youtube channel. After iterating for about a week, I + finally came up with something worthwhile. And to my elation, it was accepted! + It still warms my heart to see the intro flash before every meeting. +
++ Next up I started work on a next generation model of the layer5.io site. Being + a new project based on Gatsby and heavily relying on React, Javascript and + GraphQL, the site project was a perfect and challenging opportunity for me to + expand on my skill set. Speed learning my way through Gatsby, with a + continuous influx of help and helpful suggestions from my MeshMate, Kush + Trivedi and others within the community, I soon mastered the platform and have + spent weeks on creating countless issues and PRs in hopes of achieving the + project goals. A few months down the line, I started reviewing PRs and began + helping others contribute, something which I had never had the opportunity to + do before! After months of continuous effort, I am proud to write that I + recently joined as a maintainer on the project and was soon approached to be a + MeshMate, which I happily accepted. My learning graph has seen a soaring + positive tangent in the months I have been at Layer5 and I’m looking forward + to an even more educative and rewarding journey ahead 😊 +
++ It was the middle of the COVID-19 pandemic and being unproductive wasn't + something I can stomach. Wanting to expand on my technical domain knowledge, I + stumbled across an open-source challenge for women in tech with lists of + projects to contribute to by the Women of Open Source Community Africa + (WOSCA). My eyes landed on Layer5 and I haven’t looked back since. +
++ A quick look through the repositories left me quaking in my boots. To give you + some much needed context and to give some hope to all the newbies out there, I + recently transitioned to working in technical domains from accounting and + managing construction site projects. Forever getting stuck trying to get my + hands on new tech and trying to find a way into the bewildering and humongous + tech domains , I didn't even understand some of the jargon, and was too + ashamed to ask questions. Stumbling through my first contribution, I somehow + made it to the finish line and to my happiness, was soon assigned another + task. Instead of complaining, I set out to study up on the issue and took a + peek at the other assignees in the repository to ensure that I was not the + only one taking inordinate amounts of time on an issue. To my surprise, I was + not. +
++ I got working on the assignment and soon encountered issues that would + previously have made me quit. Thankfully, I decided to take a different + approach this time. I shared my challenge with the Layer5 community, and was + amazed at the immediate and abundant response I received. Since then, I have + helped other contributors get through their challenges, and have received an + invitation to join the organization as a member, and then as a MeshMate 😎 I + have been wholly satisfied with the learning opportunities and the friendly + environment that the Layer5 community has to offer. I have learned that I may + not be perfect, but by making full use of the resources provided to me, having + a supportive community by my side and by being open to learning and showing + determined courage in the face of difficulties, I can achieve anything! +
++ The field of open source had always been intriguing to me. The idea of a + close-knit community working with an aim had me wanting to contribute myself. + Considering the fact that I have a small skill set (Donned the coder hat only + 6 months ago), Layer5 was a great community for me to start out with. I came + to know about the Layer5 community from the She Code Africa slack channel, + after which I visited the GitHub repository and hopped on to the Layer5 slack channel. +
++ To my good luck, I received a warm welcome from the community and was able to attend a community meeting the day I joined. I made my way through the Github repos and stumbled across a beginner friendly issue. I started work but to my dismay, my PR failed to pass the DCO check at the final rung. Stuck and with low spirits, I talked to Lee (Layer5 Maintainer) and related my problems with the DCO check fail. He patiently assured me that first-time checks can be hard to get right and assigned me a MeshMate, Ashis Singh (read saviour 😳). I sent a message to Ashis and told him about the issues I was having in submitting my Pull Request. He led me through a step by step tutorial on committing and signing off my changes, after which my first PR passed all the checks. I was thrilled at this point, waiting for my PR to be merged. I soon received two emails, the first relaying that my PR had been merged and a few pull requests later, a second one with an invitation to join the Layer5 organization on Github. +
++ Impressed by the process and being passionate about helping others, I soon + began helping out with welcoming newcomers in the Layer5 Community and a happy two months later, I am elated to write that I have helped and held the hand of many-a contributors into Open-Source, offering them the same warm welcome that I had received. I was soon promoted to become a MeshMate. Apart from adding another feather to my cap, this also helped me enhance my own skill set and reach in a dozen different directions.The most intriguing fact about the Layer5 community is how welcoming it is. You can contribute something, even as a beginner, no matter how small your skillset is. I have been through the same journey and I recommend it to everyone reading. Experience an open-source community with Layer5 today! Once you’re set up on Slack, do send me a ping to + say hi. The exciting part, we might even meet as MeshMates 😉 +
+ + \- Tanuj, Ruth, and Kelechi + +- Thanks to our open source contributors, Layer5 projects are well represented - at KubeCon. Attend our talks to help you get started with managing your own - service mesh! -
- -+ Thanks to our open source contributors, Layer5 projects are well represented + at KubeCon. Attend our talks to help you get started with managing your own + service mesh! +
+ +Best Practices Selecting Elements
- -### Run your test! - -Once you have written your test, it is time to execute it locally: - -1. First, you have to run the back-end executing this command at the root project folder: - -```bash -$ make run-local -``` - -2. Then, run the front-end project (i.e. provider-ui) - -```bash -$ make run-provider-ui-dev -``` - -3. Finally, in `"provider-ui"` folder, run all the tests with: - -```bash -$ npm run cy:run -``` - -If everything went well, you will see "All specs passed!" message. Congrats! - -You can also execute, debug and see in real time your test by executing: - -```bash -$ npm run cy:open -``` - -this will open the Cypress Test Runner: - - -Cypress Test Runner
- -just double-click on your test and a window browser will be opened and you will see your testing running! - -#### What’s next? - -To improve writting better tests, I recommend that you watch: - -- Watch the Meshery Development Meeting (Nov 4th, 2020) where I gave a demo running UI tests on the Meshery project (slides) -- Tutorial Videos from Cypress blog. -- The Brian Mann – I see your point, but… (Part 1) YouTube video where he gives pro tips writting tests in Cypress. - -If you have questions, do not hesitate to ask to the Meshery community on Slack :) - -Happy testing! - - -Best Practices Selecting Elements
+ +### Run your test! + +Once you have written your test, it is time to execute it locally: + +1. First, you have to run the back-end executing this command at the root project folder: + +```bash +$ make run-local +``` + +2. Then, run the front-end project (i.e. provider-ui) + +```bash +$ make run-provider-ui-dev +``` + +3. Finally, in `"provider-ui"` folder, run all the tests with: + +```bash +$ npm run cy:run +``` + +If everything went well, you will see "All specs passed!" message. Congrats! + +You can also execute, debug and see in real time your test by executing: + +```bash +$ npm run cy:open +``` + +this will open the Cypress Test Runner: + + +Cypress Test Runner
+ +just double-click on your test and a window browser will be opened and you will see your testing running! + +#### What’s next? + +To improve writting better tests, I recommend that you watch: + +- Watch the Meshery Development Meeting (Nov 4th, 2020) where I gave a demo running UI tests on the Meshery project (slides) +- Tutorial Videos from Cypress blog. +- The Brian Mann – I see your point, but… (Part 1) YouTube video where he gives pro tips writting tests in Cypress. + +If you have questions, do not hesitate to ask to the Meshery community on Slack :) + +Happy testing! + + +Kicking off Layer5's Meet the Maintainer series, we have Michael Gfeller. Michael is an avid research enthusiast in addition to holding the title of Chief Engineer at his day job. With exhaustive interests ranging from software architecture to systems security, he has been working with cloud architecture for the past four years. -
-Michael, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the affects of your contributions, but may not know the backstory as to who Michael is and how you arrived at your maintainer role. Indulge us. How did you come across the Layer5 community? What made you stay? -
-Hey Shriti, thank you for having me. If I remember correctly, I was looking for a professional focus area earlier this year, and landed on service meshes. I had worked with service meshes before, which piqued my initial interest. I had worked with Istio as part of my work for some time, and in the same context I stumbled across Meshery. I wasn’t able to dig deep in Meshery back then, but the concept sounded fascinating to me. Additionally, I had been benefiting from open source, both personally and professionally for a long time, but apart from a few minor contributions, I had never been able to give back to the community. I hoped to correct that. -
--I re-discovered Meshery and the Layer5 community, listened to a recording of a community meeting, and read a couple of blog posts describing the community and member experience posts. One that stood out for me was a post by MeshMate Nikhil Ladha. Going by his words, it appeared to be a warm, diverse and active community. My suspicions were confirmed when I joined. Layer5 offers a wholesome, interactive community in addition to unbiasedly providing help and guidance around the virtual corner. -
-Layer5 projects has a number of active, open source projects. You’ve been consistently contributing to a few of them. Which one(s) are you currently focusing on? - -Psst. Also, which one’s your favorite? I won’t tell. -
-I’m a technical architect and programmer, which made the backend, especially the adapters, a natural choice for me. It involves both contributing to the management plane, but also looking at and using service meshes from an architectural point of view. The possible implementations of service meshes is an area that has been particularly fascinating for me. -
--I’d probably continue to work with the Meshery adapters for now before moving on to other areas of the project. Haha, I would probably name the Meshery Adapter Library as my favorite Layer5 project till date. -
Have you worked with any other open source project? How does Layer5 compare? -
-I have worked and collaborated with several open source communities before, including Eclipse Modelling Framework and Apache ServiceMix . I couldn’t possibly make a very accurate comparison, given by limited interaction with other communities, but the Layer5 community stands out based on the unique and extremely inclusive approach it takes towards upholding community values. -
-What is so fascinating about service meshes? -
-I find meshes intriguing in general. Meshes can look intricate, layered and complicated at a first glance, and yet they are built on the most basic principles. For me, meshes are visual structures, complete with an aesthetic and artistic dimension. -
-Fun Fact: Overlapping meshes resulting in Moiré patterns are an example of this. They appealed to me from a young age, and I learned about their mathematics from my mathematics teacher. -
-Fascinating. Why did you pick service meshes specifically though? -
-An increasing number of applications nowadays consist of distributed services, both in the cloud and on-premises, in mixed and hybrid environments. Many legacy applications are in express need of modernisation, consuming and being consumed by cloud native applications. Introducing microservices, also by refactoring monolithic applications, increases the complexity of the service landscape. By delegating cross-cutting infrastructure concerns like security, traffic management, resilience, and observability to the services mesh, some of the complexity is moved from the applications to the service mesh, allowing application developers to focus on business logic. A concern in these distributed, dynamic and scalable systems is that the security also needs to scale. If security doesn’t scale, it becomes very challenging to handle such systems. Services meshes today are already able to support many of these scenarios, and are continuously improving. -
- --Service meshes are complex but that is something I enjoy attempting as a challenge, to have control and overview and make it appear simple, investing into automating options. Another field that I’m excited to learn about continuously is related to the security of distributed systems, and how service meshes contribute to implementing a zero trust network architecture. -
- --I actually dreamed about service mesh a while ago. That was almost a bit spooky. -
--Haha. Leading on that, what should Meshery dream about next? What can we hope to contribute to the service mesh landscape in your opinion?
--Meshery currently does a great job of providing a neutral platform. Continuing in that direction would be a superb base plan. Enabling innovative applications from vendors, supporting all service meshes, integrating best practice methods, and implementing the SMP and SMI abstractions would probably score the top five positions in Meshery’s new year resolutions in 2021. -
--Interesting. Do expand on that. What do you think Meshery could offer, in addition to what it already does? -
--At the moment, Meshery provides a management plane solution and provides support for the SMI and Service Mesh Performance (SMP) specifications. Helpful additions in the future should be the configuration based best practices, especially with regards to security and to possibly extend to owning up specific routes on security. For instance by verifying that the recommendations outlined in the NIST report “Building Secure Microservices-based Applications Using Service-Mesh Architecture” by Ramaswamy Chandramouli and Zack Butcher. -
--What are today's challenges when working with service meshes? -
--I can’t claim to have worked with many implementations, and to have a good overview and wide experience. A lot of the complexity is already handled, but there is still enough to decide and implement for each solution. The solution makes for a challenging but highly interesting task. Additionally, there are a variety of different solutions from different vendors, which is excellent but it also makes it hard to know which would be the best fit for a given situation. Here, again, Meshery can be of invaluable help. -
--That’s good to hear. What do you think we should look forward to with respect to service mesh development? -
--The service mesh promise holds a lot of potential, for instance for modernization and ease of use. A lot appears to be happening these times. It will be interesting to see how serverless solutions will be integrated. Enabling a seamless implementation experience for solutions embracing multi-cloud, on-prem and legacy systems is also something to look forward to. Additionally, service meshes are aimed at making your architecture more secure and stable, which makes security a big concern for any service mesh provider. Improvements along these points will be topics I’ll be watching out for over the next few years. -
-- Ah while I have you here, let me get more reading recommendations lined up. Cloud Native and especially, the field of service meshes evolving exceptionally fast. Keeping up with all the developments can be challenging. Which resources do you use to stay up-to-date? -
-Service mesh implementations consist of many components, and I try to stay up to date in general. Try to follow as much as possible conferences and vendor announcements, blog posts etc. mainly by following related Twitter accounts. Also, trying to find some time to explore various solutions. Lee’s books are of course an excellent source. Another book I can recommend is Zero Trust Networks book by Gilman and Barth. It really helped me to understand how service meshes relate to zero trust network architecture and can help to move towards it. -
What does being a Meshery maintainer mean to you? How has being a maintainer impacted your full-time role? -
-I take my role as a Meshery maintainer with its benefits and responsibilities. For one, it means to be able to give back to the community. I meet a lot of interesting and friendly people from around the globe, learning about their culture at the same time. Additionally, Open Source allows me to work on and dive into tasks as I like, making it easy to integrate the work with my existing work schedule. It also allows me to learn a lot, expanding on my understanding of service meshes, keeping up with the latest developments in the field, and also giving me the opportunity to witness first-hand how others are using them. This has a quite direct impact on my full-time role, complementing the work I do. -
Do you have any advice for individuals hopeful to become Layer5 contributors or potentially maintainers? -
-A general love for software development combined with a readiness to help out newcomers and participating in the growing community is the key. -
--Come and visit, there is something for everyone, be it frontend, backend, CI/CD, website, documentation, standards, interfacing with other communities, and more. The friendly community members and the meshmates will provide support and guidance. Browse the Layer5 and Meshery websites and the repositories on GitHub, where issues suitable for newcomers are especially tagged. -
In his relatively short tenure at Layer5, Michael has already delivered a wave of meshy contributions enhancing the Meshery adapters and improving upon Meshery’s architecture. With a penchant for looking behind the curtain and tightening loose cogs until they run to perfection, Michael's impactful and consistent contributions have him taking his place as Meshery maintainer. The Meshery project moves an impressive pace thanks to maintainers like Michael. -
-"Be like Mike". Join the Layer5 Slack and say hi. -
-Kicking off Layer5's Meet the Maintainer series, we have Michael Gfeller. Michael is an avid research enthusiast in addition to holding the title of Chief Engineer at his day job. With exhaustive interests ranging from software architecture to systems security, he has been working with cloud architecture for the past four years.
+Michael, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the affects of your contributions, but may not know the backstory as to who Michael is and how you arrived at your maintainer role. Indulge us. How did you come across the Layer5 community? What made you stay?
++Hey Shriti, thank you for having me. If I remember correctly, I was looking for a professional focus area earlier this year, and landed on service meshes. I had worked with service meshes before, which piqued my initial interest. I had worked with Istio as part of my work for some time, and in the same context I stumbled across Meshery. I wasn’t able to dig deep in Meshery back then, but the concept sounded fascinating to me. Additionally, I had been benefiting from open source, both personally and professionally for a long time, but apart from a few minor contributions, I had never been able to give back to the community. I hoped to correct that.
++I re-discovered Meshery and the Layer5 community, listened to a recording of a community meeting, and read a couple of blog posts describing the community and member experience posts. One that stood out for me was a post by MeshMate Nikhil Ladha. Going by his words, it appeared to be a warm, diverse and active community. My suspicions were confirmed when I joined. Layer5 offers a wholesome, interactive community in addition to unbiasedly providing help and guidance around the virtual corner. +
+Layer5 projects has a number of active, open source projects. You’ve been consistently contributing to a few of them. Which one(s) are you currently focusing on? + +Psst. Also, which one’s your favorite? I won’t tell. +
+I’m a technical architect and programmer, which made the backend, especially the adapters, a natural choice for me. It involves both contributing to the management plane, but also looking at and using service meshes from an architectural point of view. The possible implementations of service meshes is an area that has been particularly fascinating for me. +
++I’d probably continue to work with the Meshery adapters for now before moving on to other areas of the project. Haha, I would probably name the Meshery Adapter Library as my favorite Layer5 project till date. +
Have you worked with any other open source project? How does Layer5 compare?
++I have worked and collaborated with several open source communities before, including Eclipse Modelling Framework and Apache ServiceMix . I couldn’t possibly make a very accurate comparison, given by limited interaction with other communities, but the Layer5 community stands out based on the unique and extremely inclusive approach it takes towards upholding community values. +
+What is so fascinating about service meshes?
++I find meshes intriguing in general. Meshes can look intricate, layered and complicated at a first glance, and yet they are built on the most basic principles. For me, meshes are visual structures, complete with an aesthetic and artistic dimension. +
+Fun Fact: Overlapping meshes resulting in Moiré patterns are an example of this. They appealed to me from a young age, and I learned about their mathematics from my mathematics teacher.
++Fascinating. Why did you pick service meshes specifically though?
++An increasing number of applications nowadays consist of distributed services, both in the cloud and on-premises, in mixed and hybrid environments. Many legacy applications are in express need of modernisation, consuming and being consumed by cloud native applications. Introducing microservices, also by refactoring monolithic applications, increases the complexity of the service landscape. By delegating cross-cutting infrastructure concerns like security, traffic management, resilience, and observability to the services mesh, some of the complexity is moved from the applications to the service mesh, allowing application developers to focus on business logic. A concern in these distributed, dynamic and scalable systems is that the security also needs to scale. If security doesn’t scale, it becomes very challenging to handle such systems. Services meshes today are already able to support many of these scenarios, and are continuously improving.
+ ++Service meshes are complex but that is something I enjoy attempting as a challenge, to have control and overview and make it appear simple, investing into automating options. Another field that I’m excited to learn about continuously is related to the security of distributed systems, and how service meshes contribute to implementing a zero trust network architecture. +
+ ++I actually dreamed about service mesh a while ago. That was almost a bit spooky. +
++Haha. Leading on that, what should Meshery dream about next? What can we hope to contribute to the service mesh landscape in your opinion?
++Meshery currently does a great job of providing a neutral platform. Continuing in that direction would be a superb base plan. Enabling innovative applications from vendors, supporting all service meshes, integrating best practice methods, and implementing the SMP and SMI abstractions would probably score the top five positions in Meshery’s new year resolutions in 2021.
++Interesting. Do expand on that. What do you think Meshery could offer, in addition to what it already does?
++At the moment, Meshery provides a management plane solution and provides support for the SMI and Service Mesh Performance (SMP) specifications. Helpful additions in the future should be the configuration based best practices, especially with regards to security and to possibly extend to owning up specific routes on security. For instance by verifying that the recommendations outlined in the NIST report “Building Secure Microservices-based Applications Using Service-Mesh Architecture” by Ramaswamy Chandramouli and Zack Butcher.
++What are today's challenges when working with service meshes?
++I can’t claim to have worked with many implementations, and to have a good overview and wide experience. A lot of the complexity is already handled, but there is still enough to decide and implement for each solution. The solution makes for a challenging but highly interesting task. Additionally, there are a variety of different solutions from different vendors, which is excellent but it also makes it hard to know which would be the best fit for a given situation. Here, again, Meshery can be of invaluable help.
++That’s good to hear. What do you think we should look forward to with respect to service mesh development?
++The service mesh promise holds a lot of potential, for instance for modernization and ease of use. A lot appears to be happening these times. It will be interesting to see how serverless solutions will be integrated. Enabling a seamless implementation experience for solutions embracing multi-cloud, on-prem and legacy systems is also something to look forward to. Additionally, service meshes are aimed at making your architecture more secure and stable, which makes security a big concern for any service mesh provider. Improvements along these points will be topics I’ll be watching out for over the next few years.
++ Ah while I have you here, let me get more reading recommendations lined up. Cloud Native and especially, the field of service meshes evolving exceptionally fast. Keeping up with all the developments can be challenging. Which resources do you use to stay up-to-date?
++Service mesh implementations consist of many components, and I try to stay up to date in general. Try to follow as much as possible conferences and vendor announcements, blog posts etc. mainly by following related Twitter accounts. Also, trying to find some time to explore various solutions. Lee’s books are of course an excellent source. Another book I can recommend is Zero Trust Networks book by Gilman and Barth. It really helped me to understand how service meshes relate to zero trust network architecture and can help to move towards it.
+What does being a Meshery maintainer mean to you? How has being a maintainer impacted your full-time role?
++I take my role as a Meshery maintainer with its benefits and responsibilities. For one, it means to be able to give back to the community. I meet a lot of interesting and friendly people from around the globe, learning about their culture at the same time. Additionally, Open Source allows me to work on and dive into tasks as I like, making it easy to integrate the work with my existing work schedule. It also allows me to learn a lot, expanding on my understanding of service meshes, keeping up with the latest developments in the field, and also giving me the opportunity to witness first-hand how others are using them. This has a quite direct impact on my full-time role, complementing the work I do.
+Do you have any advice for individuals hopeful to become Layer5 contributors or potentially maintainers?
++A general love for software development combined with a readiness to help out newcomers and participating in the growing community is the key.
++Come and visit, there is something for everyone, be it frontend, backend, CI/CD, website, documentation, standards, interfacing with other communities, and more. The friendly community members and the meshmates will provide support and guidance. Browse the Layer5 and Meshery websites and the repositories on GitHub, where issues suitable for newcomers are especially tagged. +
In his relatively short tenure at Layer5, Michael has already delivered a wave of meshy contributions enhancing the Meshery adapters and improving upon Meshery’s architecture. With a penchant for looking behind the curtain and tightening loose cogs until they run to perfection, Michael's impactful and consistent contributions have him taking his place as Meshery maintainer. The Meshery project moves an impressive pace thanks to maintainers like Michael.
+"Be like Mike". Join the Layer5 Slack and say hi. +
+The Meshery v0.5.0 release includes two new libraries: MeshKit and Meshery Adapter Library. +
+The Meshery v0.5.0 release includes two new libraries: MeshKit and Meshery Adapter Library. -These two libraries improve contributor experience and development speed by reducing the burden of sustaining the plethora of Meshery adapters, allowing contributors to focus on exposing any given infrastructure component's differentiated value, -instead of having to redundantly implement plumbing for managing cloud native infrastructure. +These two libraries improve contributor experience and development speed by reducing the burden of sustaining the plethora of Meshery adapters, allowing contributors to focus on exposing a service mesh's differentiated value, +instead of having to redundantly implement plumbing for managing service meshes.
P.S. If these topics excite you and you want to explore the beautiful realm of cloud native infrastructure, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
P.S. If these topics excite you and you want to explore the beautiful realm of service meshes, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
- If you are in the Layer5 Community, no doubt, you've met - - Nikhil Ladha - . If not, I recommend that you join the community and get to know Nikhil. - He's the Layer5 MeshMate of the Year and here's why: Nikhil consistently volunteers - to uplift and support others in the community, freely sharing of his time and knowledge. - His actions embody and espouse the pay-it-forward culture of Layer5. -
- - - -2020 was a noteworthy year in many ways. Nikhil's committment to the people and projects of the Layer5 community will forever be at the top of list of mentionables I and others will recall of last year. It was in 2019, though, that Nikhil's journey in the Layer5 community started and where he first began helping build our healthy, inclusive, and diverse community and our industry-leading, innovate open source projects. Nikhil's natural disposition to mentoring others and his stewardship on various projects make him a successful MeshMate. - -- - MeshMate - - is a distinction that Layer5 awards select members of the community who innately - align with our culture of helping others, paying it forward, and a commitment to - knowledge sharing. MeshMates are Layer5 mentors and ambassadors (not employees). -
- - - -- A Layer5 MeshMate is individual who has consistently demonstrated their - commitment to helping community members. The MeshMate program pairs - experienced Layer5 community members with community newcomers to ensure a - smooth onboarding experience. Helping community members takes all forms from - ensuring the member has access to resources, is introduced to others, - understands the vision and goals of projects, can build and contribute to - projects, can use projects and have their feedback heard. MeshMates aid in - identifying areas of projects and activities within the community to engage - within, which working groups to join, and in help community members grow in - their open source and cloud native knowledge. -
- -- There is a lot going in the Layer5 community. Projects and working groups move - fast. By connecting one-on-one, MeshMates share tips on how to have the best - community experience possible, but also build a relationship with the - community member inevitably leaving a lasting mark as is evident from member - comments about Nikhil. -
- -
- With thousands of members in the Layer5 community, many come and go. Many take
- and many give. While we hope that each and every individual that joins will
- find a fit in the community and/or on a project, this isn't always the case.
-
- One of the goals MeshMates have is that of enabling the newcomer's passion and - finding their sweetspot in the community and on a project, so that the - newcomer ultimately achieves their goals - goals that are often similar, but - different for each person. To help them acheive their goals, each individual - is engaged 1:1 by their Meshmate, supporting them in becoming a landstanding - Layer5 community member and contributor. MeshMates understand that many - mentees start out with the best of intentions, but that not all overcome their - hurdles in finding an area of the community to call home or aspect of a - project to own. -
- -- In just a year's time, with thousands of people in the Layer5 community and - 500+ contributors to our projects, it's clear that Layer5 MeshMates - significantly uplift our collaborative efforts and are steady force in the - community. In process of confirming Nikhil as the winner of the inaugural - MeshMate of the Year award, we looked to the community for validation. Little - did I realize that meant reaching out to nearly a hundred people whom Nikhil - has mentored or supported in the Layer5 community. More than a few of them had - something to say about their time with Nikhil: -
- -- In recognition a year's worth of paying it forward, and for the inaugural - award, a new badge identifies our MeshMate of the Year award winner. Only one - person carries this badge today. I can only guess as to who this ribbon may be - awarded to for 2021. In the year and a half that Nikhil has been in the - community, he has touched the lives of many people, including mine. Nikhil is - my friend. He is the Layer5 MeshMate of the Year. -
- -- The MeshMate badge is a point of pride for individuals participating in the - program and looked upon with admiration and veneration by many within and - external to the Layer5 community. -
- -- Wear your MeshMate of the Year badge proudly, Nikhil. -
- -+ If you are in the Layer5 Community, no doubt, you've met + Nikhil Ladha. If not, I recommend that you join the community and get to know Nikhil. + He's the Layer5 MeshMate of the Year and here's why: Nikhil consistently volunteers + to uplift and support others in the community, freely sharing of his time and knowledge. + His actions embody and espouse the pay-it-forward culture of Layer5. +
+ + + +2020 was a noteworthy year in many ways. Nikhil's committment to the people and projects of the Layer5 community will forever be at the top of list of mentionables I and others will recall of last year. It was in 2019, though, that Nikhil's journey in the Layer5 community started and where he first began helping build our healthy, inclusive, and diverse community and our industry-leading, innovate open source projects. Nikhil's natural disposition to mentoring others and his stewardship on various projects make him a successful MeshMate. + ++ + MeshMate + + is a distinction that Layer5 awards select members of the community who innately + align with our culture of helping others, paying it forward, and a commitment to + knowledge sharing. MeshMates are Layer5 mentors and ambassadors (not employees). +
+ + + ++ A Layer5 MeshMate is individual who has consistently demonstrated their + commitment to helping community members. The MeshMate program pairs + experienced Layer5 community members with community newcomers to ensure a + smooth onboarding experience. Helping community members takes all forms from + ensuring the member has access to resources, is introduced to others, + understands the vision and goals of projects, can build and contribute to + projects, can use projects and have their feedback heard. MeshMates aid in + identifying areas of projects and activities within the community to engage + within, which working groups to join, and in help community members grow in + their open source and cloud native knowledge. +
+ ++ There is a lot going in the Layer5 community. Projects and working groups move + fast. By connecting one-on-one, MeshMates share tips on how to have the best + community experience possible, but also build a relationship with the + community member inevitably leaving a lasting mark as is evident from member + comments about Nikhil. +
+ +
+ With thousands of members in the Layer5 community, many come and go. Many take
+ and many give. While we hope that each and every individual that joins will
+ find a fit in the community and/or on a project, this isn't always the case.
+
+ One of the goals MeshMates have is that of enabling the newcomer's passion and + finding their sweetspot in the community and on a project, so that the + newcomer ultimately achieves their goals - goals that are often similar, but + different for each person. To help them acheive their goals, each individual + is engaged 1:1 by their Meshmate, supporting them in becoming a landstanding + Layer5 community member and contributor. MeshMates understand that many + mentees start out with the best of intentions, but that not all overcome their + hurdles in finding an area of the community to call home or aspect of a + project to own. +
+ ++ In just a year's time, with thousands of people in the Layer5 community and + 500+ contributors to our projects, it's clear that Layer5 MeshMates + significantly uplift our collaborative efforts and are steady force in the + community. In process of confirming Nikhil as the winner of the inaugural + MeshMate of the Year award, we looked to the community for validation. Little + did I realize that meant reaching out to nearly a hundred people whom Nikhil + has mentored or supported in the Layer5 community. More than a few of them had + something to say about their time with Nikhil: +
+ ++ In recognition a year's worth of paying it forward, and for the inaugural + award, a new badge identifies our MeshMate of the Year award winner. Only one + person carries this badge today. I can only guess as to who this ribbon may be + awarded to for 2021. In the year and a half that Nikhil has been in the + community, he has touched the lives of many people, including mine. Nikhil is + my friend. He is the Layer5 MeshMate of the Year. +
+ ++ The MeshMate badge is a point of pride for individuals participating in the + program and looked upon with admiration and veneration by many within and + external to the Layer5 community. +
+ ++ Wear your MeshMate of the Year badge proudly, Nikhil. +
+ +Next on Layer5 Meet the Maintainer’s series, we have Jash Patel. Jash is a Computer Science undergraduate at the Indian Institute of Technology and a @@ -29,14 +24,15 @@ import { Link } from "gatsby"; {" "} Service Mesh Performance - {" "} + + {" "} and Service Mesh Landscape. He works with React, Gatsby, Jekyll, and Discourse and loves contributing to Open Source.
Jash, thank you for joining me today. Many people inside and outside of the @@ -47,7 +43,7 @@ import { Link } from "gatsby";
Back in August 2020, I was looking for an open-source organization. I found @@ -62,7 +58,7 @@ import { Link } from "gatsby";
I can totally relate to how amazing the Layer5 onboarding process is unique! @@ -72,7 +68,7 @@ import { Link } from "gatsby";
I started contributing to docs and soon dived into Layer5 websites. While I @@ -85,7 +81,7 @@ import { Link } from "gatsby";
Definitely, winks! Have you worked with any other open source project? How @@ -93,7 +89,7 @@ import { Link } from "gatsby";
I am a part of my college’s open-source organization. I have contributed to @@ -104,7 +100,7 @@ import { Link } from "gatsby";
You know for me, coming to The Next Generation Layer5 Website was done in @@ -113,7 +109,7 @@ import { Link } from "gatsby";
It was a pretty big task. Many people have worked on it(At the time of @@ -129,7 +125,7 @@ import { Link } from "gatsby";
It’s amazing you are in school and still actively contribute to Layer5, how @@ -137,7 +133,7 @@ import { Link } from "gatsby";
I once mentioned that while my exams were going on, I would study the entire @@ -149,7 +145,7 @@ import { Link } from "gatsby";
I’m really curious, what does being a Layer5 maintainer mean to you? How has @@ -157,7 +153,7 @@ import { Link } from "gatsby";
I still remember my first pull request being reviewed. And now I am on the @@ -170,7 +166,7 @@ import { Link } from "gatsby";
I really picked a lot of points on that! Do you have any advice for @@ -178,7 +174,7 @@ import { Link } from "gatsby";
My advice would be to not look for becoming something. I never thought of @@ -193,7 +189,7 @@ import { Link } from "gatsby";
That was some great advice there and tips! Thanks, Jash for all you do for @@ -201,7 +197,7 @@ import { Link } from "gatsby";
That was some great advice there and tips! Thanks, Jash for all you do for @@ -209,8 +205,8 @@ import { Link } from "gatsby";
+
Jash is an impactful contributor and a kind-hearted maintainer. His story is special, but not unique. Take Jash’s advice and engage in our uplifting community. Write your own story. Join the Layer5 Community. Be like Jash, @@ -218,7 +214,7 @@ import { Link } from "gatsby";
+
"Be like Jash." Join the Layer5 Slack and say hi.
diff --git a/src/collections/blog/2021/2021-04-19-announcing-meshery-v0.5/index.mdx b/src/collections/blog/2021/2021-04-19-announcing-meshery-v0.5/index.mdx index fd5281efd41b..a593635ae21f 100644 --- a/src/collections/blog/2021/2021-04-19-announcing-meshery-v0.5/index.mdx +++ b/src/collections/blog/2021/2021-04-19-announcing-meshery-v0.5/index.mdx @@ -1,191 +1,193 @@ ---- -title: "Announcing Meshery v0.5.0" -subtitle: "" -date: 2021-04-19 08:00:00 +0000 -author: Aisuko Li -thumbnail: ./v0.5.0.webp -darkthumbnail: ./v0.5.0.webp -category: Announcements -tags: - - Meshery - - Projects -published: true -resource: true -type: Blog -product: Meshery -redirect_from: - - /blog/meshery/announcing-meshery-v0.5.0/ ---- - -import { BlogWrapper } from "../../Blog.style.js"; -import { Link } from "gatsby"; -import MesheryOperatorShot from "./meshery-operator-v0.5.0.webp"; -import MesheryOperator from "./meshery-operator-dark.svg"; -import MeshSync from "./meshsync.svg"; -import MesheryDB from "./meshery-database.svg"; -import MesheryAdapterLibrary from "./meshery-adapter-library.svg"; -import Traefik from "./traefik-mesh.svg"; -import MesheryExtensibility from "./meshery-extensibility.svg"; -import NGINXSM from "./nginx-service-mesh.svg"; -import layer5Logo from "../../../../assets/images/layer5/layer5-only/svg/layer5-no-trim.svg"; - -We're pleased to announce the release of Meshery 0.5.0! Consisting of a number of significant architectural enhancements with 8 new capabilities entering alpha, Meshery v0.5.0's feature density is impressive. Previewed in the Using Istio workshop delivered at the inaugural IstioCon 2021 earlier this month, Meshery v0.5.0 provides a strong architectural foundation for cloud native application and service mesh management.
- - -## Feature Highlights -- New GraphQL API -- Meshery Operator with MeshSync inside -- Meshery Adapter for Traefik Mesh (beta) -- MeshKit and the Meshery Adapter Library -- Meshery Adapter for NGINX Service Mesh (alpha) -- Meshery Remote Provider extensions with dynamic injection -- New Meshery CLI commands to manage mutiple Meshery deployments - -Thank you to the wonderful Layer5 community of open source contributors in making this significant release possible.
-2 new Meshery service mesh adapters are bundled with this latest version of Meshery: The Meshery Adapter for Traefik Mesh and the Meshery Adapter for NGINX Service Mesh.
- -Traefik Mesh is a straight-forward, easy to configure, and non-invasive service mesh that allows visibility and management of the traffic flows inside any Kubernetes cluster.
- -Meshery supports the lifecycle and performance management of Traefik Mesh. Along with support for multiple versions of Traefik Mesh, bundled with this adapter are the Book Info and HttpBin sample applications operations to aid you in familiarizing with the functionality of Traefik Mesh. As a Meshery user, you can apply custom configuration to your instances of Traefik Mesh, managing the onboarding of your own applications onto the service mesh and providing the ability for you as a service mesh manager to customize your service mesh deployment.
- -Review the sample application guides to familiarize with their differences and learn more about the beta adapter for Meshery Adapter for Traefik Mesh.
- - -NGINX Service Mesh (NSM) is a fully integrated, lightweight service mesh that leverages a data plane powered by NGINX Plus to manage container traffic in Kubernetes environments.
- -Meshery supports lifecycle and performance management of NGINX Service Mesh. Bundled with this support are a few sample applications to help users understand the functionality of NGINX Service Mesh. lifecycle management and sample applications operations below:
- -Review the sample application guides to familiarize with their differences. Learn more about the alpha adapter for Meshery Adapter for NGINX Service Mesh.
- -The Meshery Adapter Library provides a common and consistent set of functionality for managing the lifecycle of service meshes and their workloads.
- - -* The library provides a set of interfaces, some with default implementations like a mini framework implementing the gRPC server that allows plugging in the mesh-specific configuration and operations implemented in the adapters. -* The default configuration provider we use Viper to reads the adapter specific configuration, and the configuration providers are implementations of an interface, this can be flexible if anyone wants to implement it on their own. - -Read Maintainer Michael Gfeller's blog post Introduction MeshKit and the Meshery Adapter Library for more details.
-As a Kubernetes custom controller, Meshery Operator provides a Kubernetes-native approach to interfacing with Meshery. Kubernetes is where service meshes have gotten their initial foothold, and therefore, important that Meshery interface to Kubernetes natively.
Some service meshes support non-containerized workloads outside of the cluster and will grow in this focus over time. While Meshery Operator is Kubernetes only in the v0.5.0 release, Meshery's arichitecture makes considerations for different workload and platform types.
- -MeshSync is available as a Kubernetes custom resource that provides tiered discovery and continual synchronization with Meshery Server as to the state of the Kubernetes cluster, service meshes, and their workloads.
- -Learn more and consider contributing to MeshSync.
- -## GraphQL Support - -Meshery now supports GraphQL instances between Meshery UI and Meshery Server offering any GraphQL client the power to ask for exactly what they need from mesh. This new API sets the stage preparing for exciting features in upcoming releases. Extension points are also built into Meshery's GraphQL support allowing integrators to bring their own GraphQL resolvers to the Meshery server runtime. - - -mesheryctl system context
enables user to easy manage multiple deployments of Meshery by quickly switching contexts.
-
-### Subscribing to Meshery Release Channels
-`mesheryctl system channel` allows you to easily set and switch between which Meshery release channel (stable or edge) that you want a particilar Meshery deployment (`context`) to use. Meshery deployments subscribe to one of two release channels and can either automatically self-update the deployment or prompt you to update the deployment. Alternatively, you can pin a given Meshery deployment to a specific release should you want tighter control over when Meshery updates. Read more about Meshery's stable and edge release channels.
-
-
-Review the mesheryctl Command Reference for details on all subcommands, flags, and their behavior.
-
-If these topics excite you and you want to explore the wonderful world of service meshes, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
We're pleased to announce the release of Meshery 0.5.0! Consisting of a number of significant architectural enhancements with 8 new capabilities entering alpha, Meshery v0.5.0's feature density is impressive. Previewed in the Using Istio workshop delivered at the inaugural IstioCon 2021 earlier this month, Meshery v0.5.0 provides a strong architectural foundation for cloud native application and service mesh management.
+ + +## Feature Highlights +- New GraphQL API +- Meshery Operator with MeshSync inside +- Meshery Adapter for Traefik Mesh (beta) +- MeshKit and the Meshery Adapter Library +- Meshery Adapter for NGINX Service Mesh (alpha) +- Meshery Remote Provider extensions with dynamic injection +- New Meshery CLI commands to manage mutiple Meshery deployments + +Thank you to the wonderful Layer5 community of open source contributors in making this significant release possible.
+2 new Meshery service mesh adapters are bundled with this latest version of Meshery: The Meshery Adapter for Traefik Mesh and the Meshery Adapter for NGINX Service Mesh.
+ +Traefik Mesh is a straight-forward, easy to configure, and non-invasive service mesh that allows visibility and management of the traffic flows inside any Kubernetes cluster.
+ +Meshery supports the lifecycle and performance management of Traefik Mesh. Along with support for multiple versions of Traefik Mesh, bundled with this adapter are the Book Info and HttpBin sample applications operations to aid you in familiarizing with the functionality of Traefik Mesh. As a Meshery user, you can apply custom configuration to your instances of Traefik Mesh, managing the onboarding of your own applications onto the service mesh and providing the ability for you as a service mesh manager to customize your service mesh deployment.
+ +Review the sample application guides to familiarize with their differences and learn more about the beta adapter for Meshery Adapter for Traefik Mesh.
+ + +NGINX Service Mesh (NSM) is a fully integrated, lightweight service mesh that leverages a data plane powered by NGINX Plus to manage container traffic in Kubernetes environments.
+ +Meshery supports lifecycle and performance management of NGINX Service Mesh. Bundled with this support are a few sample applications to help users understand the functionality of NGINX Service Mesh. lifecycle management and sample applications operations below:
+ +Review the sample application guides to familiarize with their differences. Learn more about the alpha adapter for Meshery Adapter for NGINX Service Mesh.
+ +The Meshery Adapter Library provides a common and consistent set of functionality for managing the lifecycle of service meshes and their workloads.
+ + +* The library provides a set of interfaces, some with default implementations like a mini framework implementing the gRPC server that allows plugging in the mesh-specific configuration and operations implemented in the adapters. +* The default configuration provider we use Viper to reads the adapter specific configuration, and the configuration providers are implementations of an interface, this can be flexible if anyone wants to implement it on their own. + +Read Maintainer Michael Gfeller's blog post Introduction MeshKit and the Meshery Adapter Library for more details.
+As a Kubernetes custom controller, Meshery Operator provides a Kubernetes-native approach to interfacing with Meshery. Kubernetes is where service meshes have gotten their initial foothold, and therefore, important that Meshery interface to Kubernetes natively. +
+Some service meshes support non-containerized workloads outside of the cluster and will grow in this focus over time. While Meshery Operator is Kubernetes only in the v0.5.0 release, Meshery's arichitecture makes considerations for different workload and platform types.
+ +MeshSync is available as a Kubernetes custom resource that provides tiered discovery and continual synchronization with Meshery Server as to the state of the Kubernetes cluster, service meshes, and their workloads.
+ +Learn more and consider contributing to MeshSync.
+ +## GraphQL Support + +Meshery now supports GraphQL instances between Meshery UI and Meshery Server offering any GraphQL client the power to ask for exactly what they need from mesh. This new API sets the stage preparing for exciting features in upcoming releases. Extension points are also built into Meshery's GraphQL support allowing integrators to bring their own GraphQL resolvers to the Meshery server runtime. + + +mesheryctl system context
enables user to easy manage multiple deployments of Meshery by quickly switching contexts.
+
+### Subscribing to Meshery Release Channels
+`mesheryctl system channel` allows you to easily set and switch between which Meshery release channel (stable or edge) that you want a particilar Meshery deployment (`context`) to use. Meshery deployments subscribe to one of two release channels and can either automatically self-update the deployment or prompt you to update the deployment. Alternatively, you can pin a given Meshery deployment to a specific release should you want tighter control over when Meshery updates. Read more about Meshery's stable and edge release channels.
+
+
+Review the mesheryctl Command Reference for details on all subcommands, flags, and their behavior.
+
+If these topics excite you and you want to explore the wonderful world of service meshes, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
At Layer5, we are continuously evaluating new technologies and incorporating them into our open source projects. Buf is one of those projects. This post presents an overview of Buf.
A tool to make Protobuf reliable and easy to use for service owners and clients, while keeping it the obvious choice on the technical merits. -Our organization should not have to reinvent the wheel to create, maintain, and consume Protobuf APIs efficiently and effectively. It will handle our Protobuf management strategy for us, so we can focus on what matters.
- -Buf aims to solve the above problems and it's long-term goal is to enable schema-driven development: A future where APIs are defined consistently, in a way that service owners and us can depend on
- -## Roadmap to Adopting Buf -In consideration of the use of Buf, we would adopt it in phases, starting with the following ares of integration. - -- **API Structure Enforcements** - - Linter solves this issue by enforcing standards. - - Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins. - - -- **Backward Compatibility** - - It will check for different things that can cause breaking change. - - For example, type change. - -If these topics excite you and you want to explore more cloud native technolgies, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
At Layer5, we are continuously evaluating new technologies and incorporating them into our open source projects. Buf is one of those projects. This post presents an overview of Buf.
A tool to make Protobuf reliable and easy to use for service owners and clients, while keeping it the obvious choice on the technical merits. +Our organization should not have to reinvent the wheel to create, maintain, and consume Protobuf APIs efficiently and effectively. It will handle our Protobuf management strategy for us, so we can focus on what matters.
+ +Buf aims to solve the above problems and it's long-term goal is to enable schema-driven development: A future where APIs are defined consistently, in a way that service owners and us can depend on
+ +## Roadmap to Adopting Buf +In consideration of the use of Buf, we would adopt it in phases, starting with the following ares of integration. + +- **API Structure Enforcements** + - Linter solves this issue by enforcing standards. + - Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins. + + +- **Backward Compatibility** + - It will check for different things that can cause breaking change. + - For example, type change. + +If these topics excite you and you want to explore more cloud native technolgies, come and say "Hi" on the community Slack and you are sure to be warmly welcomed. 😀
- Layer5 participated as a suporting organization in the She Code Africa Contributhon which started on April 1, 2021. It was indeed a pleasant and impactful experience for both the mentors and the mentees from She Code Africa. -
-- The She Code Africa hosts their Contributhon as an Africa-wide open source boot camp focused on building more women OSS contributors & creating more diversity in the African open source ecosystem by matching African women in technology with sponsors and mentors from Open Source organizations. During this boot camp, participants work with an open source organisation on a project for 4 weeks with the help of organisation mentors and get rewarded at the end of the boot camp upon successful project completion. -
- - During the boot camp, Layer5 received a total of 8 mentees - all from Nigeria. These mentees were teamed up to work on the 3 project ideas selected by Layer5. Each project had an average of 2 members of the community who were delegated as mentors to oversee the contributions of the mentees. Often Layer5 MeshMates volunteer to be mentors. - -Layer5 mentors prepared and organized a few projects in advance of the start of the boot camp, so that mentees might hit the ground running.
- -- Layer5 Community Handbook is a curated Document with the ABC's of the community. In this project, mentees were expected to look for repetition pattern across existing docs thereby, creating a structured guide for interaction across all projects. -
- Mentors: -- - -
- -- This required the contributors to fix existing issues on the GitHub repository, while suggesting ideas to improve the website, which used Gatsbyjs and Reactjs. The layer5.io website is hosted on GitHub Pages and is a collaborative effort of nearly 200 contributors. -
- Mentors: -- - -
-
- mesheryctl
is a command-line tool for Meshery, the cloud native management plane. Using Golang, mentees were required to design new CLI commands and attend to existing issues, focusing on enforcing the consistency of user experience with the command line client.
-
- - -
- -- The mentors were in constant communication with the mentees, taking their questions and rendering help when needed. At the end of the Contribution boot camp, it was heartwarming to see the mentees were able to make noticeable contributions to the projects. During the boot camp wrap up call, mentees gave presentations that revealed how impactful it was for them working on Layer5 projects. -
- -- In gratitude, we acknowledge the commitment and contributions of the mentees toward the projects and we won't forget our incredible mentors who were devoted to meeting the needs and answering to the mentees during this bootcamp. Also, we would like to appreciate Zainab Abubakar for having facilitated the She Code Africa - Contribution 2021.
- -+ Layer5 participated as a suporting organization in the She Code Africa Contributhon which started on April 1, 2021. It was indeed a pleasant and impactful experience for both the mentors and the mentees from She Code Africa. +
++ The She Code Africa hosts their Contributhon as an Africa-wide open source boot camp focused on building more women OSS contributors & creating more diversity in the African open source ecosystem by matching African women in technology with sponsors and mentors from Open Source organizations. During this boot camp, participants work with an open source organisation on a project for 4 weeks with the help of organisation mentors and get rewarded at the end of the boot camp upon successful project completion. +
+ + During the boot camp, Layer5 received a total of 8 mentees - all from Nigeria. These mentees were teamed up to work on the 3 project ideas selected by Layer5. Each project had an average of 2 members of the community who were delegated as mentors to oversee the contributions of the mentees. Often Layer5 MeshMates volunteer to be mentors. + +Layer5 mentors prepared and organized a few projects in advance of the start of the boot camp, so that mentees might hit the ground running.
+ ++ Layer5 Community Handbook is a curated Document with the ABC's of the community. In this project, mentees were expected to look for repetition pattern across existing docs thereby, creating a structured guide for interaction across all projects. +
+ Mentors: ++ + +
+ ++ This required the contributors to fix existing issues on the GitHub repository, while suggesting ideas to improve the website, which used Gatsbyjs and Reactjs. The layer5.io website is hosted on GitHub Pages and is a collaborative effort of nearly 200 contributors. +
+ Mentors: ++ + +
+
+ mesheryctl
is a command-line tool for Meshery, the cloud native management plane. Using Golang, mentees were required to design new CLI commands and attend to existing issues, focusing on enforcing the consistency of user experience with the command line client.
+
+ + +
+ ++ The mentors were in constant communication with the mentees, taking their questions and rendering help when needed. At the end of the Contribution boot camp, it was heartwarming to see the mentees were able to make noticeable contributions to the projects. During the boot camp wrap up call, mentees gave presentations that revealed how impactful it was for them working on Layer5 projects. +
+ ++ In gratitude, we acknowledge the commitment and contributions of the mentees toward the projects and we won't forget our incredible mentors who were devoted to meeting the needs and answering to the mentees during this bootcamp. Also, we would like to appreciate Zainab Abubakar for having facilitated the She Code Africa + Contribution 2021. +
+ +- Layer5 participates in many - open source internship programs. We seek out existing contributors who - actively reflect the culture and principles of Layer5 to participate in these programs. Here are the Summer of 2021's open source interns.
-- Open source has been intriguing to me ever since I had joined my college's open-source community (DevlupLabs). It was in the middle of the pandemic, though, with my mind trying to find an escape, that I stumbled upon Layer5. Within the first week of joining the Layer5 community, I had a pull request posted, and much to my surprise, found myself demo'ing it in the very next community meeting. In retrospect, it was a minor pull request, making some UI changes for Meshery. The encouragement I received was so welcoming and supportive. After that first week's experience, and so much technology and projects to explore, I was hooked - there was no turning back for me from that point. -
-- I started learning more about the projects in Layer5 and its tech stack. From how Meshery Server was using gRPC and protobufs to communicate with each of its service mesh adaptors to defining how SMI Conformance works and the Service Mesh Performance specification to how Meshery UI leverages some awesome libraries like NextJS, BillboardJS, and Redux. It has been through contributing to each of these areas, that I have learned each of these technologies more deeply and it was all possible because of the continuous influx of awesome support from the community, especially Abishek Kumar and I probably won't stop poking him for support anytime soon. -
-- As I look forward to a structured internship with Layer5 through Google Summer of Code this summer, I do so knowing I will be collaborating with the large Layer5 community, engineers from other technology companies and spending a lot of time with Soham and Piyush. For my part, I'll be working on a visual topology to help service mesh operators map their deployments, model their application performance, and parse their service proxy logs. I am ready to make an impact, learn more, and help other community members ( and watch as they, too, are initiated into the Layer5 community through ritual of giving an awkward first-timer introduction in our Community Meeting 😛). -
- -- It all started with an idea, the idea of doing open source contributions. And with that after scrolling through many open source communities, I found Layer5, jumped up into our Slack workspace, started learning about Meshery. I raised a PR and was immediately made to feel like a rockstar. I began meeting more of the community members, learning more about Meshery and its command line client, `mesheryctl` with each contribution. And you know, its extrenely gratifying to have your pull request merged, and that feeling is amplified by the feedback and attention you receive as a contributor at Layer5. -
-- I knew that I wanted to engage even more deeply and learn all that I can from the seasoned engineers at Layer5. And so, I applied for internship. Layer5 takes internships seriously and doesn't accept anyone into internship until you have proven your commitment to their awesome projects. - And at the time of writing this, it’s been almost three months of contributing bfore being accepted as GSoC student. I have spent most of my time focusing on Layer5’s Meshery project and it’s command line client, `mesheryctl`. -
-- And so, we reach the beginning of my GSoC 2021 program, which began on the night of May 17th, 2021 when I learned that I had been selected as a GSoC Participant with the Cloud Native Computing Foundation (CNCF). I am hyped up and excited to go ahead with Layer5 for the upcoming months. -
-- My GSoC project is about introducing interesting and important features to Meshery Server and `mesheryctl`. Such as automating Documentation and Interactive playground for Meshery Server’s REST API endpoints, adding commands related to performance testing and enhancing Meshery’s environment health checking, introducing unit testing for `mesheryctl`, and CI/CD and documentation for all the new features. -
-- It has been 2 weeks since I have started my GSoC’21 tenure with the Layer5 community, and from the very beginning (I mean before GSoC), I have learned a lot with my code contributions and the Community here. I began with setting up the performance command under mesheryctl and Open API Specification 2.0 for REST API documentation to the project. I am learning a lot of new things, like Unit Testing, Open API Specification, and much more to include. -
- -- I got to know about Layer5 last year in December when one of my batchmates told me that he was contributing to the community. He asked me if I wanted to join Slack and wanted to contribute to a project. So I looked at the projects on Github and some open issues that I could contribute to. Me being a frontend developer I saw an issue related to removing whitespaces and minor frontend changes. I just made a PR and it was merged then I joined the Slack workspace and attended the Newcomers meeting. I was introduced to a lot of things that I could work on. All of them felt amazing and interesting, all I had to do was “signal” and I could work on any one of them. -
-
- At first I thought that I should just work on layer5.io or maybe NightHawk, but then I was given an opportunity to work on something that I had never done before. It has been around 4 months that I have been a part of the community and I am actively trying to add to the project attending weekly meetings where everyone shares amazing stuff about what they did. - -- As I said earlier my project is something that I had never worked on before, very interesting to work on, it adds one of the most important and unique features to Meshery. Meshery's MeshMap enables users to visualize their service meshes, look at important statistics. It also enables users to design their own service meshes by either importing their designs from a yaml file or by dragging and dropping service mesh components into a - canvas, creating edges, grouping components, persisting these designs to see or edit later, realizing these designs by actually deploying them as service meshes and a lot more. -
-
- My job is to be the God of CytoscapeJS, who knows every nook and cranny of the library that enables us to create the visual topology. It's been a week since I have started my LFX internship and I have been working on visual topology even before that. These months of contributing code have taught me a lot. The first task that was given to me was to explore the - CytoscapeJS library and demonstrate a proof of concept of animated edges between 2 components. I sat for 3 hours straight right after the community meeting creating the demo and posted a video on our slack. I was never - appreciated better than on that day. I have never looked back since, each time I am given a feature or issue or any request I try my hardest to realize it in the earliest. I am constantly trying to improve myself and add to the project. - - - \- Dhruv, Piyush, and Soham +--- +title: "Meet the Summer Interns of 2021" +date: 2021-06-04 08:00:00 +0000 +author: Interns of Summer 2021 +thumbnail: ./summer-intern.webp +darkthumbnail: ./summer-intern.webp +category: "Community" +tags: + - Community +featured: true +published: true +--- + + + +import Dhruv from "./intern-dhruv-patel.webp"; +import Soham from "./intern-soham-sonawane.webp"; +import Piyush from "./intern-piyush-singariya.webp"; + + + ++ Layer5 participates in many + open source internship programs. We seek out existing contributors who + actively reflect the culture and principles of Layer5 to participate in these programs. Here are the Summer of 2021's open source interns. +
++ Open source has been intriguing to me ever since I had joined my college's open-source community (DevlupLabs). It was in the middle of the pandemic, though, with my mind trying to find an escape, that I stumbled upon Layer5. Within the first week of joining the Layer5 community, I had a pull request posted, and much to my surprise, found myself demo'ing it in the very next community meeting. In retrospect, it was a minor pull request, making some UI changes for Meshery. The encouragement I received was so welcoming and supportive. After that first week's experience, and so much technology and projects to explore, I was hooked - there was no turning back for me from that point. +
++ I started learning more about the projects in Layer5 and its tech stack. From how Meshery Server was using gRPC and protobufs to communicate with each of its service mesh adaptors to defining how SMI Conformance works and the Service Mesh Performance specification to how Meshery UI leverages some awesome libraries like NextJS, BillboardJS, and Redux. It has been through contributing to each of these areas, that I have learned each of these technologies more deeply and it was all possible because of the continuous influx of awesome support from the community, especially Abishek Kumar and I probably won't stop poking him for support anytime soon. +
++ As I look forward to a structured internship with Layer5 through Google Summer of Code this summer, I do so knowing I will be collaborating with the large Layer5 community, engineers from other technology companies and spending a lot of time with Soham and Piyush. For my part, I'll be working on a visual topology to help service mesh operators map their deployments, model their application performance, and parse their service proxy logs. I am ready to make an impact, learn more, and help other community members ( and watch as they, too, are initiated into the Layer5 community through ritual of giving an awkward first-timer introduction in our Community Meeting 😛). +
+ ++ It all started with an idea, the idea of doing open source contributions. And with that after scrolling through many open source communities, I found Layer5, jumped up into our Slack workspace, started learning about Meshery. I raised a PR and was immediately made to feel like a rockstar. I began meeting more of the community members, learning more about Meshery and its command line client, `mesheryctl` with each contribution. And you know, its extrenely gratifying to have your pull request merged, and that feeling is amplified by the feedback and attention you receive as a contributor at Layer5. +
++ I knew that I wanted to engage even more deeply and learn all that I can from the seasoned engineers at Layer5. And so, I applied for internship. Layer5 takes internships seriously and doesn't accept anyone into internship until you have proven your commitment to their awesome projects. + And at the time of writing this, it’s been almost three months of contributing bfore being accepted as GSoC student. I have spent most of my time focusing on Layer5’s Meshery project and it’s command line client, `mesheryctl`. +
++ And so, we reach the beginning of my GSoC 2021 program, which began on the night of May 17th, 2021 when I learned that I had been selected as a GSoC Participant with the Cloud Native Computing Foundation (CNCF). I am hyped up and excited to go ahead with Layer5 for the upcoming months. +
++ My GSoC project is about introducing interesting and important features to Meshery Server and `mesheryctl`. Such as automating Documentation and Interactive playground for Meshery Server’s REST API endpoints, adding commands related to performance testing and enhancing Meshery’s environment health checking, introducing unit testing for `mesheryctl`, and CI/CD and documentation for all the new features. +
++ It has been 2 weeks since I have started my GSoC’21 tenure with the Layer5 community, and from the very beginning (I mean before GSoC), I have learned a lot with my code contributions and the Community here. I began with setting up the performance command under mesheryctl and Open API Specification 2.0 for REST API documentation to the project. I am learning a lot of new things, like Unit Testing, Open API Specification, and much more to include. +
+ ++ I got to know about Layer5 last year in December when one of my batchmates told me that he was contributing to the community. He asked me if I wanted to join Slack and wanted to contribute to a project. So I looked at the projects on Github and some open issues that I could contribute to. Me being a frontend developer I saw an issue related to removing whitespaces and minor frontend changes. I just made a PR and it was merged then I joined the Slack workspace and attended the Newcomers meeting. I was introduced to a lot of things that I could work on. All of them felt amazing and interesting, all I had to do was “signal” and I could work on any one of them. +
++ At first I thought that I should just work on layer5.io or maybe NightHawk, but then I was given an opportunity to work on something that I had never done before. It has been around 4 months that I have been a part of the community and I am actively trying to add to the project attending weekly meetings where everyone shares amazing stuff about what they did. +
++ As I said earlier my project is something that I had never worked on before, very interesting to work on, it adds one of the most important and unique features to Meshery. Meshery's MeshMap enables users to visualize their service meshes, look at important statistics. It also enables users to design their own service meshes by either importing their designs from a yaml file or by dragging and dropping service mesh components into a + canvas, creating edges, grouping components, persisting these designs to see or edit later, realizing these designs by actually deploying them as service meshes and a lot more. +
++ My job is to be the God of CytoscapeJS, who knows every nook and cranny of the library that enables us to create the visual topology. It's been a week since I have started my LFX internship and I have been working on visual topology even before that. These months of contributing code have taught me a lot. The first task that was given to me was to explore the + CytoscapeJS library and demonstrate a proof of concept of animated edges between 2 components. I sat for 3 hours straight right after the community meeting creating the demo and posted a video on our slack. I was never + appreciated better than on that day. I have never looked back since, each time I am given a feature or issue or any request I try my hardest to realize it in the earliest. I am constantly trying to improve myself and add to the project. +
+ + \- Dhruv, Piyush, and Soham- Hi, I am Piyush Singariya, a short description of me would be “another - software engineer watching anime”, in the longer version I am a 2021 graduate - from IIT Roorkee, who loves to watch anime and play video games all day. I - know both are exactly the same, but it is what it is. -
-- It all started around 22 Feb when I jumped into slack, and after 10 whole days - messing around the project, I started to get a hold of it. I started - contributing to mesheryctl and I thought to apply for the GSoC 2021. -
-- My project was to introduce multiple net new features and minor enhancements - in Meshery and mesheryctl (Meshery’s CLI). -
-- Meshery is a multi-service mesh management plane that offers lifecycle, - configuration, and performance management of service meshes and applications - running on top of those meshes. Meshery uses the{" "} - Service Mesh Performance specification to - describe and capture performance benchmarks and characterize service mesh - behavior. -
-- I integrated many new features in Meshery Some of them are mentioned here. -
-- Refer here for{" "} - GSoC Final Report -
-- During the whole season, as my work was mostly focused on Golang so I can say - I learned Golang, learned working around HTTP handlers, writing cobra - commands, setting up golang unit testing for Cobra Commands(damn, it was - tough), writing environment health-checks, writing GitHub-actions, Open-API - specification 2.0, -
-- A quick summary of this experience would be that I had a really good time with - Layer5, I learned, I engaged with other folks in the community, and I believe - the environment here is truly best for any student to spend their time here, - to learn and engage with each other. The folks here are crazy for helping new - members get started with Layer5 projects. -
- -+ Hi, I am Piyush Singariya, a short description of me would be “another + software engineer watching anime”, in the longer version I am a 2021 graduate + from IIT Roorkee, who loves to watch anime and play video games all day. I + know both are exactly the same, but it is what it is. +
++ It all started around 22 Feb when I jumped into slack, and after 10 whole days + messing around the project, I started to get a hold of it. I started + contributing to mesheryctl and I thought to apply for the GSoC 2021. +
++ My project was to introduce multiple net new features and minor enhancements + in Meshery and mesheryctl (Meshery’s CLI). +
++ Meshery is a multi-service mesh management plane that offers lifecycle, + configuration, and performance management of service meshes and applications + running on top of those meshes. Meshery uses the{" "} + Service Mesh Performance specification to + describe and capture performance benchmarks and characterize service mesh + behavior. +
++ I integrated many new features in Meshery Some of them are mentioned here. +
++ Refer here for{" "} + GSoC Final Report +
++ During the whole season, as my work was mostly focused on Golang so I can say + I learned Golang, learned working around HTTP handlers, writing cobra + commands, setting up golang unit testing for Cobra Commands(damn, it was + tough), writing environment health-checks, writing GitHub-actions, Open-API + specification 2.0, +
++ A quick summary of this experience would be that I had a really good time with + Layer5, I learned, I engaged with other folks in the community, and I believe + the environment here is truly best for any student to spend their time here, + to learn and engage with each other. The folks here are crazy for helping new + members get started with Layer5 projects. +
+ +- Layer5 participates in many - - open source internship programs - . We seek out existing contributors who actively reflect the culture and - principles of Layer5 to participate in these programs. Here are the Fall of 2021's - open source interns. -
-- The idea of contributing to an open source has been on the back of my mind since I enrolled in college back in 2019. Like how most people formulate what and how they will do in the uni, I also came from normalcy. In Singapore, students are aiming to get the best mark in every possible lesson in college as our grades hold a very high importance in the culture. Going back and forth between classes, planning a startup with my peers, volunteering in community clubs, I had a spectacular two years in uni. -
--However, during the last summer break, I started asking myself questions. How should I be better? What should I do? When should I do it? As I got more familiar with the Uni and all my messes (like clubs and tech-stacks that I used), I was in my comfort zone. From my experience, once you know that you’re in a comfort zone, that is exactly when you should start taking actions. Then, I found out the concept of open source. I know that I could hone my skills even further in the community, plus I could learn from the very best from all over the world. I took the initiative to join some Discord channels for open source communities and try to contribute to an open source which then somewhat went begrudgingly bad. Frankly, the experience wasn’t as good as I expected. Trying to pinch my way in a Google Summer of Code project, I am overwhelmed by numerous people trying to do the same. -
--I thought open source would be like this all the time and it failed me. But then, I took my second chance and joined Layer5. First two weeks, I tried to familiarize myself with the project and joined in the community calls. I remember sharing my screen the first time in the community call, and it was thrilling, my hands can't stop shaking. I was very excited to share my tiny bit of change in the UI which then welcomed wholeheartedly by the people inside. Overall, I met with a lot of wonderful people that don't mind extending their hands if I am in difficulty. My thoughts on open source were wrong and I realize that it's just a little badness from the overall goodness. Just like Yin Yang. Layer5 has been a supportive community that not only develops your technical side, it nurtures your thinking and reasoning. -
- --My journey with open source started when I got into college and fell into the company of some geeky open source evangelists. They were the folks from my local open source communities, OSDC and JODC. I learnt there what it means to be a good open source citizen. The fact that I could learn by contributing to a real world project albeit being a student, novice in programming, intrigued me the most and thus I had this goal clear in my mind to make an impact by working on open source software. -However, it was easier said than done. I started making small contributions to some projects that I came across but couldn't do much past that. Me being a shy kid and the lack of a welcoming community always came into my way. But this all changed when I approached Lee in the CNCF slack for a GSoC internship. I was invited to Layer5. Since day one, I could feel there was something much different about how the community is treated here. Just as I joined, I received a ton of welcome messages and resources to get started. With the course of time and some great advice I moved on from that internship. I decided to become a good contributor first. Though I started with small contributions here too, this time I was able to scale up with time with help and guidance from the community. Whenever I was assigned something, I tried to get my teeth into it as deep as I could before reaching out for help. This helped me learn a lot in a healthy way. -
-- There was so much happening around and I wanted to be a part of it all. So I started attending all the meetings and was able to put my finger into many pies. I soon became better at expressing my thoughts and pretty soon, I developed an interest in CI/CD practices. Starting with small workflows, I went on to write GitHub actions for performing SMI conformance and SMP tests in CI pipelines. At the same time, I also found myself working on mesheryctl and the adapters as I came across bugs while working on the actions. Fast forward a few months and I was nominated a Meshery CI maintainer. I couldn't be much happier than this but little did I know there was more coming. -I learnt about how internships worked at Layer5 during the time I spent and agreed with it in the best sense. Generally, open source projects tend to get more welcoming and open around the months of internship program applications. However, this short span often leads to unjust outcomes. -
-- Thus, I believe paying back for what you give to the project is a philosophy in the best faith of everyone in the long term. I kept my patience until I was asked to apply for an internship and I eventually got selected. I finally knew that I had started to make that impact I always wanted to. -During the course of my internship, I'll be working under the mentorship of Utkarsh Srivastava on improving Layer5 Cloud, the remote provider, and making it securely distributable and usable in "on premise environments". I'll also be collaborating with Ashish Tiwari on integrating a workflow engine with Meshery introducing best practices to be followed by management software. -Looking forward to learning and growing during this time while continuing to try my best to help others in the community. - -
--Thank you. -
- -- I knew exactly what I wanted to do ever since my childhood, I wanted to become a programmer. Technology related stuff always intrigued me. But I had to prepare for an entrance examination IITJEE which required enormous dedication and focus to succeed. And so, I had to put my coding dreams on hold till I joined college. -
-
- -But after I joined college, I felt a sense of freedom within me, in the sense that I could now pursue my passion wholeheartedly. So, the next question was, "Where do I start ?". -There were a lot of buzz words going around in my college among my peers like CP, Dev, AI and ML etc. I also noticed that people were forcing themselves to do them even when they had no sense of passion or appreciation towards the field. But for me, I always had more joy in the process of doing something than the outcome I get from it. So, I started exploring various fields to find what I loved the most. And I found that I wanted to do development. - - --So, I started working on myself. After I got the fundamentals clear, I wanted to have some practical experience to have an idea of how production grade products are being made. So, I worked on a couple of startups to get an exposure to real world development. And I learned a lot during that period. But then, I felt I needed to switch my gear. The idea of open source has always intrigued me the most but my efforts towards open source contribution has not been a success because, - -1. I always got intimidated by the size of codebase -2. I didn't have people guiding me - -Some of my seniors, who had the best interest in me, encouraged me to get into open source, but I did not take it seriously because I felt intimidated by the idea. I instead thought I would look for some open source internships that way I would have someone mentoring me and that would help me in starting my open source journey. I went through many programs but most of them were closed at that time, except, Meshery in LFX. I thought, this is the only choice I have, let's do it, I had nothing to lose. I applied for that program and as a prerequisite, I had to engage with the community. I looked at the community calendar and I saw that there was a newcomer's call that day and I attended it. I have never had such a warm welcome in any other communities. - - -
--On that day, I knew that this community is special and I should spend more time with it. I explored the projects and as usual, I felt intimidated, but this time, I had people, wonderful people to help me. I landed my first open source PR, which was a single line style change. But the encouragement and support I got from the community for that was so wonderful . I realised that this community is not just about building best quality products but also about building best quality human beings. It has been a roller coaster ride with Layer5 since then. I got so involved with the process that I had stopped caring about getting that internship. - -
-- The community has really wonderful people who taught me not only about coding, but also about "How to be". I am really grateful that I found this community and I hope that everyone has a chance to experience this. -I started engaging more in the community projects, especially Meshery UI and always kept coming up with ways to improve it. -
-- And fast forward to September 2021, I was told to enroll for the LFX fall term mentorship program and here I am. But, this has never been the goal for me, there is more to me and Layer5 than this internship. I will be engaged with this community as long as I can and will try to give back as much as I can. -
-- Thank you -
--I started my programming career in 2020 when my classmates were bagging internships.I started late because the first two years of my college I never thought that I was a "programming guy" as I always was more of a Physics/Mathematics guy. But in 2020, when the pandemic hit I started programming from "hello world". I thought I was too late to the party and often felt overwhelmed. After 1 year of getting a taste of everything from data structures, web development, databases and everything in between that a CS undergraduate comes across; I thought to call myself a Backend dev. But I still was dissatisfied and finding something interesting when I came across the concept of containerization which looked magic to me. From there it was a roller coaster ride to kubernetes and then understanding service meshes. I immediately was drawn into the entire CNCF ecosystem. -
--After procrastinating for a while, I learnt golang one night, made a side project to feel confident in it and dove back into watching CNCF talks explaining some exciting technology in Golang code.During all this my friend and also my current mentor, Utkarsh helped me through and through. He explained to me what Meshery is and I was immediately drawn in because Meshery is a good vantage point to the entire CNCF ecosystem. Believe me, while working on meshery at one point or another you will run into almost all major projects under CNCF. -Like for any other beginner, it was all too overwhelming but exciting at the same time. Man it's such a rush when you realize that you don't know so much stuff because then there is an open window for absorbing all that stuff. I started going through docs, blogs and CNCF talks(shit that rhymed). I still binge CNCF talks. There is a plethora of good talks for you, if you are a beginner. I always prefer those over any "youtube tutorials". Anyways, back to my journey. -
--So two months ago, I found an open issue in mesheryctl. I solved the issue/enhancement, showed the code in a community meeting and got the PR merged. This was my first ever open source contribution. From there it just took off. I wrote a new command in mesheryctl then wrote unit tests. All this while trying to get an opportunity to write code for any core component like meshery server or adapters. Then one day I accidentally got into a WASM filter meeting(believe me,joined accidentally), got asked to add one feature and I said - "yes". And this is how it starts for most people. You get out of your comfort zone and say "yes", start learning new stuff, make mistakes, get corrected and the cycle continues. Fast forward two months, I was offered an internship.From what I have learnt as a person who started late is that you only need two things- "Curiosity" to ask questions out of your comfort zone and "Resilience" to absorb answers when they are thrown at you. Layer5 is an amazing community. -
--I guarantee you will not find such a warm and welcoming community so easily. If you come here for internships, you won't be here for long (or anywhere else to be honest). When your goals are solely to gain knowledge, experience while contributing to a niche, new and exciting tech- the opportunities will be waiting for you. I still have a long way to go and so much to learn. My journey with this project is certainly going to be longer than the span of this internship. -
- \- Nithish, Ashish, Rudraksh and Bariq -+ Layer5 participates in many + + open source internship programs + + . We seek out existing contributors who actively reflect the culture and + principles of Layer5 to participate in these programs. Here are the Fall of 2021's + open source interns. +
++ The idea of contributing to an open source has been on the back of my mind since I enrolled in college back in 2019. Like how most people formulate what and how they will do in the uni, I also came from normalcy. In Singapore, students are aiming to get the best mark in every possible lesson in college as our grades hold a very high importance in the culture. Going back and forth between classes, planning a startup with my peers, volunteering in community clubs, I had a spectacular two years in uni. +
++However, during the last summer break, I started asking myself questions. How should I be better? What should I do? When should I do it? As I got more familiar with the Uni and all my messes (like clubs and tech-stacks that I used), I was in my comfort zone. From my experience, once you know that you’re in a comfort zone, that is exactly when you should start taking actions. Then, I found out the concept of open source. I know that I could hone my skills even further in the community, plus I could learn from the very best from all over the world. I took the initiative to join some Discord channels for open source communities and try to contribute to an open source which then somewhat went begrudgingly bad. Frankly, the experience wasn’t as good as I expected. Trying to pinch my way in a Google Summer of Code project, I am overwhelmed by numerous people trying to do the same. +
++I thought open source would be like this all the time and it failed me. But then, I took my second chance and joined Layer5. First two weeks, I tried to familiarize myself with the project and joined in the community calls. I remember sharing my screen the first time in the community call, and it was thrilling, my hands can't stop shaking. I was very excited to share my tiny bit of change in the UI which then welcomed wholeheartedly by the people inside. Overall, I met with a lot of wonderful people that don't mind extending their hands if I am in difficulty. My thoughts on open source were wrong and I realize that it's just a little badness from the overall goodness. Just like Yin Yang. Layer5 has been a supportive community that not only develops your technical side, it nurtures your thinking and reasoning. +
+ ++My journey with open source started when I got into college and fell into the company of some geeky open source evangelists. They were the folks from my local open source communities, OSDC and JODC. I learnt there what it means to be a good open source citizen. The fact that I could learn by contributing to a real world project albeit being a student, novice in programming, intrigued me the most and thus I had this goal clear in my mind to make an impact by working on open source software. +However, it was easier said than done. I started making small contributions to some projects that I came across but couldn't do much past that. Me being a shy kid and the lack of a welcoming community always came into my way. But this all changed when I approached Lee in the CNCF slack for a GSoC internship. I was invited to Layer5. Since day one, I could feel there was something much different about how the community is treated here. Just as I joined, I received a ton of welcome messages and resources to get started. With the course of time and some great advice I moved on from that internship. I decided to become a good contributor first. Though I started with small contributions here too, this time I was able to scale up with time with help and guidance from the community. Whenever I was assigned something, I tried to get my teeth into it as deep as I could before reaching out for help. This helped me learn a lot in a healthy way. +
++ There was so much happening around and I wanted to be a part of it all. So I started attending all the meetings and was able to put my finger into many pies. I soon became better at expressing my thoughts and pretty soon, I developed an interest in CI/CD practices. Starting with small workflows, I went on to write GitHub actions for performing SMI conformance and SMP tests in CI pipelines. At the same time, I also found myself working on mesheryctl and the adapters as I came across bugs while working on the actions. Fast forward a few months and I was nominated a Meshery CI maintainer. I couldn't be much happier than this but little did I know there was more coming. +I learnt about how internships worked at Layer5 during the time I spent and agreed with it in the best sense. Generally, open source projects tend to get more welcoming and open around the months of internship program applications. However, this short span often leads to unjust outcomes. +
++ Thus, I believe paying back for what you give to the project is a philosophy in the best faith of everyone in the long term. I kept my patience until I was asked to apply for an internship and I eventually got selected. I finally knew that I had started to make that impact I always wanted to. +During the course of my internship, I'll be working under the mentorship of Utkarsh Srivastava on improving Layer5 Cloud, the remote provider, and making it securely distributable and usable in "on premise environments". I'll also be collaborating with Ashish Tiwari on integrating a workflow engine with Meshery introducing best practices to be followed by management software. +Looking forward to learning and growing during this time while continuing to try my best to help others in the community. + +
++Thank you. +
+ ++ I knew exactly what I wanted to do ever since my childhood, I wanted to become a programmer. Technology related stuff always intrigued me. But I had to prepare for an entrance examination IITJEE which required enormous dedication and focus to succeed. And so, I had to put my coding dreams on hold till I joined college. +
++ +But after I joined college, I felt a sense of freedom within me, in the sense that I could now pursue my passion wholeheartedly. So, the next question was, "Where do I start ?". +There were a lot of buzz words going around in my college among my peers like CP, Dev, AI and ML etc. I also noticed that people were forcing themselves to do them even when they had no sense of passion or appreciation towards the field. But for me, I always had more joy in the process of doing something than the outcome I get from it. So, I started exploring various fields to find what I loved the most. And I found that I wanted to do development. + +
++So, I started working on myself. After I got the fundamentals clear, I wanted to have some practical experience to have an idea of how production grade products are being made. So, I worked on a couple of startups to get an exposure to real world development. And I learned a lot during that period. But then, I felt I needed to switch my gear. The idea of open source has always intrigued me the most but my efforts towards open source contribution has not been a success because, + +1. I always got intimidated by the size of codebase +2. I didn't have people guiding me + +Some of my seniors, who had the best interest in me, encouraged me to get into open source, but I did not take it seriously because I felt intimidated by the idea. I instead thought I would look for some open source internships that way I would have someone mentoring me and that would help me in starting my open source journey. I went through many programs but most of them were closed at that time, except, Meshery in LFX. I thought, this is the only choice I have, let's do it, I had nothing to lose. I applied for that program and as a prerequisite, I had to engage with the community. I looked at the community calendar and I saw that there was a newcomer's call that day and I attended it. I have never had such a warm welcome in any other communities. + + +
++On that day, I knew that this community is special and I should spend more time with it. I explored the projects and as usual, I felt intimidated, but this time, I had people, wonderful people to help me. I landed my first open source PR, which was a single line style change. But the encouragement and support I got from the community for that was so wonderful . I realised that this community is not just about building best quality products but also about building best quality human beings. It has been a roller coaster ride with Layer5 since then. I got so involved with the process that I had stopped caring about getting that internship. + +
++ The community has really wonderful people who taught me not only about coding, but also about "How to be". I am really grateful that I found this community and I hope that everyone has a chance to experience this. +I started engaging more in the community projects, especially Meshery UI and always kept coming up with ways to improve it. +
++ And fast forward to September 2021, I was told to enroll for the LFX fall term mentorship program and here I am. But, this has never been the goal for me, there is more to me and Layer5 than this internship. I will be engaged with this community as long as I can and will try to give back as much as I can. +
++ Thank you +
++I started my programming career in 2020 when my classmates were bagging internships.I started late because the first two years of my college I never thought that I was a "programming guy" as I always was more of a Physics/Mathematics guy. But in 2020, when the pandemic hit I started programming from "hello world". I thought I was too late to the party and often felt overwhelmed. After 1 year of getting a taste of everything from data structures, web development, databases and everything in between that a CS undergraduate comes across; I thought to call myself a Backend dev. But I still was dissatisfied and finding something interesting when I came across the concept of containerization which looked magic to me. From there it was a roller coaster ride to kubernetes and then understanding service meshes. I immediately was drawn into the entire CNCF ecosystem. +
++After procrastinating for a while, I learnt golang one night, made a side project to feel confident in it and dove back into watching CNCF talks explaining some exciting technology in Golang code.During all this my friend and also my current mentor, Utkarsh helped me through and through. He explained to me what Meshery is and I was immediately drawn in because Meshery is a good vantage point to the entire CNCF ecosystem. Believe me, while working on meshery at one point or another you will run into almost all major projects under CNCF. +Like for any other beginner, it was all too overwhelming but exciting at the same time. Man it's such a rush when you realize that you don't know so much stuff because then there is an open window for absorbing all that stuff. I started going through docs, blogs and CNCF talks(shit that rhymed). I still binge CNCF talks. There is a plethora of good talks for you, if you are a beginner. I always prefer those over any "youtube tutorials". Anyways, back to my journey. +
++So two months ago, I found an open issue in mesheryctl. I solved the issue/enhancement, showed the code in a community meeting and got the PR merged. This was my first ever open source contribution. From there it just took off. I wrote a new command in mesheryctl then wrote unit tests. All this while trying to get an opportunity to write code for any core component like meshery server or adapters. Then one day I accidentally got into a WASM filter meeting(believe me,joined accidentally), got asked to add one feature and I said - "yes". And this is how it starts for most people. You get out of your comfort zone and say "yes", start learning new stuff, make mistakes, get corrected and the cycle continues. Fast forward two months, I was offered an internship.From what I have learnt as a person who started late is that you only need two things- "Curiosity" to ask questions out of your comfort zone and "Resilience" to absorb answers when they are thrown at you. Layer5 is an amazing community. +
++I guarantee you will not find such a warm and welcoming community so easily. If you come here for internships, you won't be here for long (or anywhere else to be honest). When your goals are solely to gain knowledge, experience while contributing to a niche, new and exciting tech- the opportunities will be waiting for you. I still have a long way to go and so much to learn. My journey with this project is certainly going to be longer than the span of this internship. +
+ \- Nithish, Ashish, Rudraksh and Bariq +- Lee Calcote is an innovator, product and technology leader, active in the community as a Docker Captain, Cloud Native Ambassador and GSoC, GSoD, and Community Bridge Mentor. In this talk, he walked through service mesh specifications and why they matter in your deployment. - How many service mesh specifications do you know? He went through all of them. So, no worries if you're unfamiliar. -
-+ Lee Calcote is an innovator, product and technology leader, active in the community as a Docker Captain, Cloud Native Ambassador and GSoC, GSoD, and Community Bridge Mentor. In this talk, he walked through service mesh specifications and why they matter in your deployment. + How many service mesh specifications do you know? He went through all of them. So, no worries if you're unfamiliar. +
+With growing adoption of service meshes in cloud native environments, service mesh abstractions - service mesh-neutral specifications - have emerged. Service Mesh Performance and Service Mesh Interface are two open specifications that address the need for universal interfaces for interacting with and managing any type of service mesh. Let’s examine what each specification provides.
- -Service Mesh Performance standardizes service mesh value measurement, characterizing any deployment's performance by capturing the details of infrastructure capacity, service mesh configuration and workload metadata.
- -Service Mesh Interface provides a standard interface for service meshes on Kubernetes. These (currently) four specfications offer a common denominator set of interfaces to support most common service mesh use cases and the flexibility to evolve to support new service mesh capabilities over time.
- -As a service mesh agnostic tool that provides lifecycle and performance management of a large number of (10+) service meshes, Kubernetes applications, service mesh patterns and WebAssembly filters, Meshery is the ideal tool for the job when it comes to implementing these specifications.
- -Meshery also comes with two new GitHub Actions that do exactly this. The Meshery SMI Conformance Action which validates SMI conformance in your pipeline and the Meshery SMP Action which runs SMP compatible performance benchmarks.
-But how do we use these actions? What do they offer? Let’s find out!
- -Conformance of SMI specifications is defined as a series of test assertions. These test assertions are categorised by SMI specification (of which, there are currently four specifications) and comprise the complete suite of SMI conformance tests. Conformance requirements will change appropriately as each new version of the SMI spec is released. Refer to Meshery's documentation for details of how Meshery performs SMI conformance.
- - - -The Service Mesh Interface Conformance GitHub Action is available in the GitHub Marketplace. You can configure this action to trigger with each of your releases, on every pull request. or any GitHub workflow trigger event.
-An example of the action configuration which runs on every release is shown below. The action handles setting up a Kubernetes environment, deploying the service mesh (see supported service meshes), running the conformance tests and reporting back the results to the SMI Conformance dashboard in Meshery.
- -```yaml -name: SMI Conformance with Meshery -on: - push: - tags: - - 'v*' - -jobs: - smi-conformance: - name: SMI Conformance - runs-on: ubuntu-latest - steps: - - - name: SMI conformance tests - uses: layer5io/mesheryctl-smi-conformance-action@master - with: - provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }} - service_mesh: open_service_mesh - mesh_deployed: false -``` - -You can also bring in their own cluster with specific capabilities and with a service mesh already installed.
- -```yaml -name: SMI Conformance with Meshery -on: - push: - branches: - - 'master' - -jobs: - smi-conformance: - name: SMI Conformance tests on master - runs-on: ubuntu-latest - steps: - - - name: Deploy k8s-minikube - uses: manusa/actions-setup-minikube@v2.4.1 - with: - minikube version: 'v1.21.0' - kubernetes version: 'v1.20.7' - driver: docker - - - name: Install OSM - run: | - curl -LO https://github.com/openservicemesh/osm/releases/download/v0.9.1/osm-v0.9.1-linux-amd64.tar.gz - tar -xzf osm-v0.9.1-linux-amd64.tar.gz - mkdir -p ~/osm/bin - mv ./linux-amd64/osm ~/osm/bin/osm-bin - PATH="$PATH:$HOME/osm/bin/" - osm-bin install --osm-namespace default - - - name: SMI conformance tests - uses: layer5io/mesheryctl-smi-conformance-action@master - with: - provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }} - service_mesh: open_service_mesh - mesh_deployed: true -``` - -You can download a token from Meshery and add it as a GitHub secret (in the example above, the secret is MESHERY_PROVIDER_TOKEN
). After the test is run, you can view the results from the Service Mesh Interface dashboard in Meshery UI.
-Meshery's Service Mesh Interface Conformance Results
Participating service mesh projects can also automatically report their conformance test results to the SMI Conformance dashboard
- -Measuring and managing the performance of a service mesh is key to efficient operation of any service mesh. Meshery is the canonical implementation of the Service Mesh Performance specification. You can choose from multiple load generators and use a highly configurable set of load profiles with variable tunable facets to run a performance test. Meshery packages all these features into an easy-to-use GitHub Action.
- - - -The Service Mesh Performance GitHub Action is available in the GitHub Marketplace.You can create your own performance profiles to run repeatable tests with Meshery. You can configure this action to trigger with each of your releases, on every pull request. or any GitHub workflow trigger event. A sample configuration of the action is shown below.
- -```yaml -name: Meshery SMP Action -on: - push: - branches: - 'master' - -jobs: - performance-test: - name: Performance Test - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v2 - with: - ref: 'perf' - - - name: Deploy k8s-minikube - uses: manusa/actions-setup-minikube@v2.4.1 - with: - minikube version: 'v1.21.0' - kubernetes version: 'v1.20.7' - driver: docker - - - name: Run Performance Test - uses: layer5io/meshery-smp-action@master - with: - provider_token: ${{ secrets.PROVIDER_TOKEN }} - platform: docker - profile_name: soak-test -``` - -You can also define your test configuration in an SMP compatible configuration file as shown below.
- -```yaml -smp_version: v0.0.1 -id: -name: Istio Performance Test -labels: {} -clients: -- internal: false - load_generator: fortio - protocol: 1 - connections: 2 - rps: 10 - headers: {} - cookies: {} - body: "" - content_type: "" - endpoint_urls: - - http://localhost:2323/productpage -duration: "30m" -``` - -See this sample GitHub workflow (action.yml) for more configuration details.
- - - -The results from the tests are updated on the Performance Management dashboard in Meshery. To learn more about interpreting the test results, check out this guide. You can always checkout the Meshery User Guides to dive deep into these features.
- -Stay meshy! -With growing adoption of service meshes in cloud native environments, service mesh abstractions - service mesh-neutral specifications - have emerged. Service Mesh Performance and Service Mesh Interface are two open specifications that address the need for universal interfaces for interacting with and managing any type of service mesh. Let’s examine what each specification provides.
+ +Service Mesh Performance standardizes service mesh value measurement, characterizing any deployment's performance by capturing the details of infrastructure capacity, service mesh configuration and workload metadata.
+ +Service Mesh Interface provides a standard interface for service meshes on Kubernetes. These (currently) four specfications offer a common denominator set of interfaces to support most common service mesh use cases and the flexibility to evolve to support new service mesh capabilities over time.
+ +As a service mesh agnostic tool that provides lifecycle and performance management of a large number of (10+) service meshes, Kubernetes applications, service mesh patterns and WebAssembly filters, Meshery is the ideal tool for the job when it comes to implementing these specifications.
+ +Meshery also comes with two new GitHub Actions that do exactly this. The Meshery SMI Conformance Action which validates SMI conformance in your pipeline and the Meshery SMP Action which runs SMP compatible performance benchmarks.
+But how do we use these actions? What do they offer? Let’s find out!
+ +Conformance of SMI specifications is defined as a series of test assertions. These test assertions are categorised by SMI specification (of which, there are currently four specifications) and comprise the complete suite of SMI conformance tests. Conformance requirements will change appropriately as each new version of the SMI spec is released. Refer to Meshery's documentation for details of how Meshery performs SMI conformance.
+ + + +The Service Mesh Interface Conformance GitHub Action is available in the GitHub Marketplace. You can configure this action to trigger with each of your releases, on every pull request. or any GitHub workflow trigger event.
+An example of the action configuration which runs on every release is shown below. The action handles setting up a Kubernetes environment, deploying the service mesh (see supported service meshes), running the conformance tests and reporting back the results to the SMI Conformance dashboard in Meshery.
+ +```yaml +name: SMI Conformance with Meshery +on: + push: + tags: + - 'v*' + +jobs: + smi-conformance: + name: SMI Conformance + runs-on: ubuntu-latest + steps: + + - name: SMI conformance tests + uses: layer5io/mesheryctl-smi-conformance-action@master + with: + provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }} + service_mesh: open_service_mesh + mesh_deployed: false +``` + +You can also bring in their own cluster with specific capabilities and with a service mesh already installed.
+ +```yaml +name: SMI Conformance with Meshery +on: + push: + branches: + - 'master' + +jobs: + smi-conformance: + name: SMI Conformance tests on master + runs-on: ubuntu-latest + steps: + + - name: Deploy k8s-minikube + uses: manusa/actions-setup-minikube@v2.4.1 + with: + minikube version: 'v1.21.0' + kubernetes version: 'v1.20.7' + driver: docker + + - name: Install OSM + run: | + curl -LO https://github.com/openservicemesh/osm/releases/download/v0.9.1/osm-v0.9.1-linux-amd64.tar.gz + tar -xzf osm-v0.9.1-linux-amd64.tar.gz + mkdir -p ~/osm/bin + mv ./linux-amd64/osm ~/osm/bin/osm-bin + PATH="$PATH:$HOME/osm/bin/" + osm-bin install --osm-namespace default + + - name: SMI conformance tests + uses: layer5io/mesheryctl-smi-conformance-action@master + with: + provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }} + service_mesh: open_service_mesh + mesh_deployed: true +``` + +You can download a token from Meshery and add it as a GitHub secret (in the example above, the secret is MESHERY_PROVIDER_TOKEN
). After the test is run, you can view the results from the Service Mesh Interface dashboard in Meshery UI.
+
+Meshery's Service Mesh Interface Conformance Results
+
Participating service mesh projects can also automatically report their conformance test results to the SMI Conformance dashboard
+ +Measuring and managing the performance of a service mesh is key to efficient operation of any service mesh. Meshery is the canonical implementation of the Service Mesh Performance specification. You can choose from multiple load generators and use a highly configurable set of load profiles with variable tunable facets to run a performance test. Meshery packages all these features into an easy-to-use GitHub Action.
+ + + +The Service Mesh Performance GitHub Action is available in the GitHub Marketplace.You can create your own performance profiles to run repeatable tests with Meshery. You can configure this action to trigger with each of your releases, on every pull request. or any GitHub workflow trigger event. A sample configuration of the action is shown below.
+ +```yaml +name: Meshery SMP Action +on: + push: + branches: + 'master' + +jobs: + performance-test: + name: Performance Test + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + with: + ref: 'perf' + + - name: Deploy k8s-minikube + uses: manusa/actions-setup-minikube@v2.4.1 + with: + minikube version: 'v1.21.0' + kubernetes version: 'v1.20.7' + driver: docker + + - name: Run Performance Test + uses: layer5io/meshery-smp-action@master + with: + provider_token: ${{ secrets.PROVIDER_TOKEN }} + platform: docker + profile_name: soak-test +``` + +You can also define your test configuration in an SMP compatible configuration file as shown below.
+ +```yaml +smp_version: v0.0.1 +id: +name: Istio Performance Test +labels: {} +clients: +- internal: false + load_generator: fortio + protocol: 1 + connections: 2 + rps: 10 + headers: {} + cookies: {} + body: "" + content_type: "" + endpoint_urls: + - http://localhost:2323/productpage +duration: "30m" +``` + +See this sample GitHub workflow (action.yml) for more configuration details.
+ + + +The results from the tests are updated on the Performance Management dashboard in Meshery. To learn more about interpreting the test results, check out this guide. You can always checkout the Meshery User Guides to dive deep into these features.
+ +Stay meshy! +CCOSS is an Open Source Software Contributor Summit that focuses on promoting and increasing the contributions from people and organizations to Open Source in Latin America. This event will happen online from October 4th to 9th.
- -Meshery will be participating as a project in a workshop where attendees will contribute to Documentation, Tests, and more. It’s a good opportunity to learn how to contribute to Open Source supported by the community. To participate you can register here.
-Speakers:
-CCOSS is an Open Source Software Contributor Summit that focuses on promoting and increasing the contributions from people and organizations to Open Source in Latin America. This event will happen online from October 4th to 9th.
+ +Meshery will be participating as a project in a workshop where attendees will contribute to Documentation, Tests, and more. It’s a good opportunity to learn how to contribute to Open Source supported by the community. To participate you can register here.
+Speakers:
+- Meshery is the open-source, collaborative cloud native manager that can - configure 230+ Kuberentes infrasturcture operators different service meshes, onboard your applications, manage WebAssembly filters, apply cloud native patterns, validate against best practices, and benchmarks the performance of your cloud native deployments. Let’s learn how to manage cloud native infrastructure with confidence with Meshery.{" "} -
-- As we unfold what a management plane is, it would serve us well to talk about - network planes in this regard. Architecturally, a service mesh consists of two - planes. One of those is the data plane, while the other one is the control - plane. A service mesh data plane is the collection of intelligent proxies that - operate in unison under the coordination of the control plane. The control - plane performs configuration management of these intelligent proxies. -
-- A management plane can do many things. Essentially, a management plane helps - you integrate service meshes into your backend systems. A robust management - plane allows you to take full advantage of the power of the network while - integrating your service delivery processes seamlessly. Your management plane - might federate different types of service meshes, help you instigate chaos - through controlled experiments, or offer automated traffic splitting in order - to execute different styles of canarying of your applications. Your management - plane might offer deep insights into the performance of your applications and - to the performance of your infrastructure or might deliver a change in - management framework. -
- -- Meshery manages the - lifecycle of service meshes. Meshery does workload management, helps you - onboard or offboard your applications onto the mesh. It also lets you do - performance management.{" "} - MeshSync, - a custom controller within{" "} - - Meshery operator - - , performs discovery of existing service meshes and deep fingerprinting of the - specific functions that version of your service mesh is capable of performing. - Through MeshSync, Meshery supports brownfield deployments of your service meshes - (Meshery discovers your existing service mesh deployment that is already running - inside your cluster(s) whether those service meshes were deployed by Meshery or - not){" "} -
-- In order to facilitate such a deep level of understanding of each type of - service mesh, Meshery has - adapters that are specific to each service mesh (given that each service mesh - has its own set of features). Consequently, in order to leverage the maximum - functionality of each service mesh, Meshery has separate, dedicated adapter - for each of the{" "} - - supported service meshes - - :{" "} -
- -Service Mesh | -Status | -
---|---|
- - Meshery Adapter for Consul - - | -stable | -
- - Meshery Adapter for Istio - - | -stable | -
- - Meshery Adapter for Kuma - - | -stable | -
- - Meshery Adapter for Linkerd - {" "} - | -stable | -
- - Meshery Adapter for Network Service Mesh - - | -stable | -
- - Meshery Adapter for Open Service Mesh - - | -stable | -
- - Meshery Adapter for Traefik Mesh - - | -stable | -
- - Meshery Adapter for Citrix Service Mesh - - | -beta | -
- - Meshery Adapter for NGINX Service Mesh - - | -beta | -
- - Meshery Adapter for App Mesh - - | -alpha | -
- - Meshery Adapter for Tanzu Service Mesh - - | -alpha | -
- Meshery also lets you - integrate your Prometheus and Grafana add-ons so you can import your existing - Grafana dashboards to Meshery. When you first start Meshery, we also have a - configuration wizard, which basically walks you through the entire setup to - get Meshery up and running. By the end of this, it will make sure that you - have Meshery running on your cluster. -
- -- If you want a more finer configuration, you can configure your environment - through settings and you can configure service meshes, and you can configure - the metrics, you can define your performance tests to be reused. -
-- For configuration management,{" "} - Meshery will analyze your - runtime environment for certain service meshes and tell you if you're doing - things right or not. What you can do is you can upload your applications - directly into Meshery, edit them in the Meshery UI itself and actually apply - these applications or onboard these applications on your service mesh. -
- -- - Meshery operator - {" "} - is a custom controller called MeshSync. MeshSync helps keep Meshery apprised - of the various changes that are going on to the service meshes and various - changes that are happening within Kubernetes itself. In this way Meshery - supports not only greenfield deployments like deploying service meshes itself, - it also supports connecting to existing service mesh deployments, that is, - brownfield deployment. So it will discover your existing deployments as well. -
-- There's an extensible concept in Meshery called a{" "} - provider. - Providers can typically offer a layer of persistence so to the extent that - users are running performance tests intensely or to the extent that users want - to have a particular type of directory integrated to bring their own identity - to Meshery and have a multi-user experience. The other area of extensibility - is the notion that Meshery has a couple of APIs both – rest API and graphql - API. It comes with a command-line interface as well as a user interface.{" "} -
- -- Another capability of Meshery that is going to be released in the upcoming - version is visually configuring your service mesh using MeshMap. You can add - filters, applications as well as make other configurations visually here and - you can export it as patterns to make it reusable quite easily. It - automatically figures out the sample application we have deployed, then - generates a visual representation. It provides users the ability to design - service meshes, service mesh configuration, and the applications that run on - it. -
- - -- {" "} - A pattern is capable of describing the deployment of any of the meshes that Meshery - supports as well as the configuration of the mesh. It also notes ongoing behavior - so if you wanted to run a canary you can describe that in a pattern. So, patterns - are like a template, they're customizable and ingestible into Meshery itself. -
- -- Meshery will take action based on what you've described in the pattern, things - like generating or running a performance test, generating load, and then doing - statistical analysis on that set of results. In the future, if you want to - deploy a web assembly filter, you can describe that in a pattern as well and - have Meshery apply it. The patterns are service mesh agnostic, they're - reusable and the initial set of them is being stored in a public-facing - repository. There are almost 60 patterns that have been identified. - Ultimately, it will allow you to ingest these and measure then orchestrate and - apply them to your infrastructure. You can also use Meshery to visually - represent them and to visually design. -
- -- There’s a project called Nighthawk that - helps advance the existing integration of nighthawk and Meshery. Nighthawk is - a load generator that is an envoy project. It's written in c plus plus and has - a couple of intriguing capabilities that are the ongoing study within - Nighthawk. There is an ongoing effort to take advantage of nighthawk’s - adaptive load controllers, add a couple of those in and expose them through - Meshery to let people recursively evaluate what is ultimately an optimal - configuration in your environment and the service mesh. -
- - -- If you consider that you've got a certain SLO or a certain minimum latency - requirement that you need to stick to that but you also want to at the same - time maximize resiliency characteristics of your deployment, that can be a - difficult thing to figure out particularly if any of your infrastructure - changes: -
-- If these factors change, so does the ability to run optimization routines. To - help you identify the optimal configuration of your mesh but in accordance - with your own constraints is again the study of{" "} - Nighthawk.{" "} -
- -+ Meshery is the open-source, collaborative cloud native manager that can + configure 230+ Kuberentes infrasturcture operators different service meshes, onboard your applications, manage WebAssembly filters, apply cloud native patterns, validate against best practices, and benchmarks the performance of your cloud native deployments. Let’s learn how to manage cloud native infrastructure with confidence with Meshery.{" "} +
++ As we unfold what a management plane is, it would serve us well to talk about + network planes in this regard. Architecturally, a service mesh consists of two + planes. One of those is the data plane, while the other one is the control + plane. A service mesh data plane is the collection of intelligent proxies that + operate in unison under the coordination of the control plane. The control + plane performs configuration management of these intelligent proxies. +
++ A management plane can do many things. Essentially, a management plane helps + you integrate service meshes into your backend systems. A robust management + plane allows you to take full advantage of the power of the network while + integrating your service delivery processes seamlessly. Your management plane + might federate different types of service meshes, help you instigate chaos + through controlled experiments, or offer automated traffic splitting in order + to execute different styles of canarying of your applications. Your management + plane might offer deep insights into the performance of your applications and + to the performance of your infrastructure or might deliver a change in + management framework. +
+ ++ Meshery manages the + lifecycle of service meshes. Meshery does workload management, helps you + onboard or offboard your applications onto the mesh. It also lets you do + performance management.{" "} + MeshSync, + a custom controller within{" "} + + Meshery operator + + , performs discovery of existing service meshes and deep fingerprinting of the + specific functions that version of your service mesh is capable of performing. + Through MeshSync, Meshery supports brownfield deployments of your service meshes + (Meshery discovers your existing service mesh deployment that is already running + inside your cluster(s) whether those service meshes were deployed by Meshery or + not){" "} +
++ In order to facilitate such a deep level of understanding of each type of + service mesh, Meshery has + adapters that are specific to each service mesh (given that each service mesh + has its own set of features). Consequently, in order to leverage the maximum + functionality of each service mesh, Meshery has separate, dedicated adapter + for each of the{" "} + + supported service meshes + + :{" "} +
+ +Service Mesh | +Status | +
---|---|
+ + Meshery Adapter for Consul + + | +stable | +
+ + Meshery Adapter for Istio + + | +stable | +
+ + Meshery Adapter for Kuma + + | +stable | +
+ + Meshery Adapter for Linkerd + +{" "} + | +stable | +
+ + Meshery Adapter for Network Service Mesh + + | +stable | +
+ + Meshery Adapter for Open Service Mesh + + | +stable | +
+ + Meshery Adapter for Traefik Mesh + + | +stable | +
+ + Meshery Adapter for Citrix Service Mesh + + | +beta | +
+ + Meshery Adapter for NGINX Service Mesh + + | +beta | +
+ + Meshery Adapter for App Mesh + + | +alpha | +
+ + Meshery Adapter for Tanzu Service Mesh + + | +alpha | +
+ Meshery also lets you + integrate your Prometheus and Grafana add-ons so you can import your existing + Grafana dashboards to Meshery. When you first start Meshery, we also have a + configuration wizard, which basically walks you through the entire setup to + get Meshery up and running. By the end of this, it will make sure that you + have Meshery running on your cluster. +
+ ++ If you want a more finer configuration, you can configure your environment + through settings and you can configure service meshes, and you can configure + the metrics, you can define your performance tests to be reused. +
++ For configuration management,{" "} + Meshery will analyze your + runtime environment for certain service meshes and tell you if you're doing + things right or not. What you can do is you can upload your applications + directly into Meshery, edit them in the Meshery UI itself and actually apply + these applications or onboard these applications on your service mesh. +
+ ++ + Meshery operator + + {" "} + is a custom controller called MeshSync. MeshSync helps keep Meshery apprised + of the various changes that are going on to the service meshes and various + changes that are happening within Kubernetes itself. In this way Meshery + supports not only greenfield deployments like deploying service meshes itself, + it also supports connecting to existing service mesh deployments, that is, + brownfield deployment. So it will discover your existing deployments as well. +
++ There's an extensible concept in Meshery called a{" "} + provider. + Providers can typically offer a layer of persistence so to the extent that + users are running performance tests intensely or to the extent that users want + to have a particular type of directory integrated to bring their own identity + to Meshery and have a multi-user experience. The other area of extensibility + is the notion that Meshery has a couple of APIs both – rest API and graphql + API. It comes with a command-line interface as well as a user interface.{" "} +
+ ++ Another capability of Meshery that is going to be released in the upcoming + version is visually configuring your service mesh using MeshMap. You can add + filters, applications as well as make other configurations visually here and + you can export it as patterns to make it reusable quite easily. It + automatically figures out the sample application we have deployed, then + generates a visual representation. It provides users the ability to design + service meshes, service mesh configuration, and the applications that run on + it. +
+ + ++ {" "} + A pattern is capable of describing the deployment of any of the meshes that Meshery + supports as well as the configuration of the mesh. It also notes ongoing behavior + so if you wanted to run a canary you can describe that in a pattern. So, patterns + are like a template, they're customizable and ingestible into Meshery itself. +
+ ++ Meshery will take action based on what you've described in the pattern, things + like generating or running a performance test, generating load, and then doing + statistical analysis on that set of results. In the future, if you want to + deploy a web assembly filter, you can describe that in a pattern as well and + have Meshery apply it. The patterns are service mesh agnostic, they're + reusable and the initial set of them is being stored in a public-facing + repository. There are almost 60 patterns that have been identified. + Ultimately, it will allow you to ingest these and measure then orchestrate and + apply them to your infrastructure. You can also use Meshery to visually + represent them and to visually design. +
+ ++ There’s a project called Nighthawk that + helps advance the existing integration of nighthawk and Meshery. Nighthawk is + a load generator that is an envoy project. It's written in c plus plus and has + a couple of intriguing capabilities that are the ongoing study within + Nighthawk. There is an ongoing effort to take advantage of nighthawk’s + adaptive load controllers, add a couple of those in and expose them through + Meshery to let people recursively evaluate what is ultimately an optimal + configuration in your environment and the service mesh. +
+ + ++ If you consider that you've got a certain SLO or a certain minimum latency + requirement that you need to stick to that but you also want to at the same + time maximize resiliency characteristics of your deployment, that can be a + difficult thing to figure out particularly if any of your infrastructure + changes: +
++ If these factors change, so does the ability to run optimization routines. To + help you identify the optimal configuration of your mesh but in accordance + with your own constraints is again the study of{" "} + Nighthawk.{" "} +
+ +Delivering a high quality user experience is our pinnacle goal in the design of Meshery's CLI: mesheryctl
. Delivering a high quality user experience means testing both qualitatively and quantatively. As a concept, quality - whether you're talking about software or anything else - can be directly measured by consistency. A quality user experience is consistent and consistency of mesheryctl
is reinforced by its many unit tests.
mesheryctl
is written in Golang. In the Meshery project, we use CodeCov to calculate the code coverage across mesheryctl
's line of code. And there are plenty of lines of code. Achieving high percentages of code coverage in Meshery's CLI with grows in criticality as we bring more features into mesheryctl
as a robust and sophisticated command line client of Meshery. Unit and integration tests bolster and roll up into broader end-to-end, functional testing performed across Meshery and the rest of its components.
High levels of code coverage makes it easier for each project contributor to be confident that their code changes aren’t breaking any preexisting mesheryctl
commands, side-swiping their functionality unknowingly, and consequently, unwittingly lowering the quality of Meshery's overall user experience.
-
Unit Tests can be written in two ways:
- -mesheryctl
subcommand
- mesheryctl
functions
- This example of a tree graph (from meshery/meshery/pull/4823) shows the impact given changes make on the level of code coverage.
- - - -Integrations tests come into view when you cannot mock something easily and when a given behavior is cross-functional / cross-component. Integration tests put more, but not all of the focus validating system behavior and that the system completes all the necessary actions. Take mesheryctl system start
for example. This command deploys Meshery, its adapters, and Kubernetes Operator; it starts Meshery. So, you run the command to start Meshery in a GitHub workflow and after running the mesheryctl
subcommand through the tests and make sure that Meshery actually started. And if the workflow successfully runs the test, then boom!, you aced your integration writing test... errr... test writing.
The integration test writing exam can initially be challenging, but... that’s the fun in it. :) Running tests and making sure a command that is otherwise hard to verify, hard to test, and making it automatic through GH workflows.
- -Writing tests and making them work is in itself a tough task to do, so writing one test for a single function counts and makes a big difference over the long term. Don't hesitate. Start writing tests now. A single, new test is worthy of raising a pull request and will get you well on your way to learning much more about Golang, Docker, Kubernetes, and service meshes.
- -mesheryctl
(login with GitHub to get an in-depth idea of lines-of-code being covered in code coverage).The impact that you make with by writing even a single test is quite high. Your tests will be executed and used time-and-time again. I can’t explain in words (I don’t have that good of a vocabulary). Your Tests are going to run in each pull request raised against the Meshery project, in each commit someone pushes to a pull request, in every nightly regression test suite, in every release. Just think: if another contributor incidently introduces a defect or doesn't consider for an edge case, and fails to uphold the intended behavior of the code, your tests are going to catch them redhanded. How cool is that?
- -So, what are you waiting for? Jump in and write a few tests today! When you raise your pull request, label it with area/tests
and component/mesheryctl
and I'll be there to review! Let’s get mesheryctl
100% code coverage badge.
Delivering a high quality user experience is our pinnacle goal in the design of Meshery's CLI: mesheryctl
. Delivering a high quality user experience means testing both qualitatively and quantatively. As a concept, quality - whether you're talking about software or anything else - can be directly measured by consistency. A quality user experience is consistent and consistency of mesheryctl
is reinforced by its many unit tests.
mesheryctl
is written in Golang. In the Meshery project, we use CodeCov to calculate the code coverage across mesheryctl
's line of code. And there are plenty of lines of code. Achieving high percentages of code coverage in Meshery's CLI with grows in criticality as we bring more features into mesheryctl
as a robust and sophisticated command line client of Meshery. Unit and integration tests bolster and roll up into broader end-to-end, functional testing performed across Meshery and the rest of its components.
High levels of code coverage makes it easier for each project contributor to be confident that their code changes aren’t breaking any preexisting mesheryctl
commands, side-swiping their functionality unknowingly, and consequently, unwittingly lowering the quality of Meshery's overall user experience.
Unit Tests can be written in two ways:
+ +mesheryctl
subcommand
+ mesheryctl
functions
+ This example of a tree graph (from meshery/meshery/pull/4823) shows the impact given changes make on the level of code coverage.
+ + + +Integrations tests come into view when you cannot mock something easily and when a given behavior is cross-functional / cross-component. Integration tests put more, but not all of the focus validating system behavior and that the system completes all the necessary actions. Take mesheryctl system start
for example. This command deploys Meshery, its adapters, and Kubernetes Operator; it starts Meshery. So, you run the command to start Meshery in a GitHub workflow and after running the mesheryctl
subcommand through the tests and make sure that Meshery actually started. And if the workflow successfully runs the test, then boom!, you aced your integration writing test... errr... test writing.
The integration test writing exam can initially be challenging, but... that’s the fun in it. :) Running tests and making sure a command that is otherwise hard to verify, hard to test, and making it automatic through GH workflows.
+ +Writing tests and making them work is in itself a tough task to do, so writing one test for a single function counts and makes a big difference over the long term. Don't hesitate. Start writing tests now. A single, new test is worthy of raising a pull request and will get you well on your way to learning much more about Golang, Docker, Kubernetes, and service meshes.
+ +mesheryctl
(login with GitHub to get an in-depth idea of lines-of-code being covered in code coverage).The impact that you make with by writing even a single test is quite high. Your tests will be executed and used time-and-time again. I can’t explain in words (I don’t have that good of a vocabulary). Your Tests are going to run in each pull request raised against the Meshery project, in each commit someone pushes to a pull request, in every nightly regression test suite, in every release. Just think: if another contributor incidently introduces a defect or doesn't consider for an edge case, and fails to uphold the intended behavior of the code, your tests are going to catch them redhanded. How cool is that?
+ +So, what are you waiting for? Jump in and write a few tests today! When you raise your pull request, label it with area/tests
and component/mesheryctl
and I'll be there to review! Let’s get mesheryctl
100% code coverage badge.
The CNCF Technical Advisory Group for Network Co-Chairs Lee Calcote and Ken Owens gave a presentation entitled Intro and Deep Dive into CNCF TAG Network and CNCF Service Mesh Working Group at KubeCon China 2021.
@@ -91,14 +91,14 @@ The majority of the more detailed activities occur in the CNCF Service Mesh Work- - + +
Owens and Calcote also discuss Service Mesh Patterns and Service Mesh Catalog. These patterns promote the reuse of best practices, are service mesh agnostic, and also help in behavior analysis. A circuit breaker test is a good example. If something goes wrong in your network be it a node failure, router failure, etc., then it helps you identify the point of failure as well as gets your network running quickly.
- +@@ -112,12 +112,15 @@ The majority of the more detailed activities occur in the CNCF Service Mesh Work
This brings us to Nighthawk and Meshery. Together they help produce robust, distributed and scalable services. Distributed load testing offers insight into system behaviors that accurately represent real world behaviors of services under load as that load comes from any number of sources.
- + -Calcote and Owens packed a great deal of information in this talk. If you are passionate about Cloud Native Networking and Service Meshes, then this talk is definitely worth your time. Find the recording below. The presentation slides are available here. +
+ + Calcote and Owens packed a great deal of information in this talk. If you are passionate about Cloud Native Networking and Service Meshes, then this talk is definitely worth your time. Find the recording below. The presentation slides are available here. +
-- Hey👋, I am Gaurav Chadha, a student from New Delhi, India with lots of dreams, ambitions, and zeal to learn and grow more each and every day. -
--My journey in open source started with late-night surfing on LinkedIn. -I saw a post about the Layer5 organization and open source which drove me to their website and{" "}Slack workspace. And then, 💥 a single-click was all it took to kickstart my journey in Open Source and set in-motion a new chapter in my career development and relationships with new colleagues. -I would say this was my best ever decision in life till now. -
--Despite the warm welcome that I receive upon joining Layer5's Slack workspace, I was a bit shy to introduce myself in the{" "}#newcomers channel, but then I saw so many other folks introducing themselves. My inner voice asked, "If they can do it, why can't I?", so I went ahead and introduced myself to the community. -The best part for newcomers in Layer5 is that not only is each individual warmly welcomed, but that -Layer5 {" "} MeshMates and Community Managers host a weekly meeting (see the{" "}community calendar) dedicated to the success of newcomers, helping each person find a foothold in the community. The overview provided in each weekly Newcomers meeting gives you the leg up that you need to get started with any of{" "} Layer5's projects and orients you to the how the community works (the{" "} community handbook is an excellent resource in this regard) and who to contact in your areas of interest. -
-- I highly recommend all newcomers to engage as much as possible in the community. You will gradually start seeing a change in yourself. -
- --I still remember at that time I was just a beginner with Git, HTML, CSS, and JavaScript and most of the issues on the repository were going over my head. -So I started with a very beginner-friendly issue about changing a background of a component and who would have thought this changing background issue will eventually change my life in open source. -Then I made my first ever pull request in Layer5 and that got merged! -
--Try out some good first issues here{""} Layer5 {""} ,Meshery💻 -
-- After my first pull request got merged I really got pumped up with joy and told myself that I can do more. This journey of learning and pull requests was not at all easy for me, it took almost 9 months of continuous dedication and effort. There are many great folks I met here in the community, who helped me and taught me new interesting concepts. - A big thanks to all of them, this was not possible without their guidance and support. -
-- There are a variety of things I learned at Layer5 and a lot I'm learning currently. I gained much technical knowledge as well as soft skills in these 9 months. I spend most of my time working on the UI of Meshery and its various projects. - In terms of technical items I learned React, Docker, Kubernetes, new JavaScript concepts, etc. -
-- I would say Layer5 is the best in terms of work ethics, community management, a healthy work environment, and a lot more. - You can gain real-life working experience on such big projects and guidance related to your career. -
-- I gradually started learning about the project and made myself choose one area to start with and continued to explore further. I kept pushing myself with patience until I feel strong and capable enough to - take responsibilities and give my best to the community, Then I asked and applied for an internship and eventually, I got selected. -
-Now I can make more impact and grow more under the right guidance.😃
-- Besides coding at Layer5, I made many new friends, great experiences, and memories. -
-- At last, I would say, join this amazing community and experience the change in yourself. This will open the doors for opportunities for you. Just be tenacious and push yourself, that's all that I did. -
-- Thank you -
- -+ Hey👋, I am Gaurav Chadha, a student from New Delhi, India with lots of dreams, ambitions, and zeal to learn and grow more each and every day. +
++My journey in open source started with late-night surfing on LinkedIn. +I saw a post about the Layer5 organization and open source which drove me to their website and{" "}Slack workspace. And then, 💥 a single-click was all it took to kickstart my journey in Open Source and set in-motion a new chapter in my career development and relationships with new colleagues. +I would say this was my best ever decision in life till now. +
++Despite the warm welcome that I receive upon joining Layer5's Slack workspace, I was a bit shy to introduce myself in the{" "}#newcomers channel, but then I saw so many other folks introducing themselves. My inner voice asked, "If they can do it, why can't I?", so I went ahead and introduced myself to the community. +The best part for newcomers in Layer5 is that not only is each individual warmly welcomed, but that +Layer5 {" "} MeshMates and Community Managers host a weekly meeting (see the{" "}community calendar) dedicated to the success of newcomers, helping each person find a foothold in the community. The overview provided in each weekly Newcomers meeting gives you the leg up that you need to get started with any of{" "} Layer5's projects and orients you to the how the community works (the{" "} community handbook is an excellent resource in this regard) and who to contact in your areas of interest. +
++ I highly recommend all newcomers to engage as much as possible in the community. You will gradually start seeing a change in yourself. +
+ ++I still remember at that time I was just a beginner with Git, HTML, CSS, and JavaScript and most of the issues on the repository were going over my head. +So I started with a very beginner-friendly issue about changing a background of a component and who would have thought this changing background issue will eventually change my life in open source. +Then I made my first ever pull request in Layer5 and that got merged! +
++Try out some good first issues here{""} Layer5 {""} ,Meshery💻 +
++ After my first pull request got merged I really got pumped up with joy and told myself that I can do more. This journey of learning and pull requests was not at all easy for me, it took almost 9 months of continuous dedication and effort. There are many great folks I met here in the community, who helped me and taught me new interesting concepts. + A big thanks to all of them, this was not possible without their guidance and support. +
++ There are a variety of things I learned at Layer5 and a lot I'm learning currently. I gained much technical knowledge as well as soft skills in these 9 months. I spend most of my time working on the UI of Meshery and its various projects. + In terms of technical items I learned React, Docker, Kubernetes, new JavaScript concepts, etc. +
++ I would say Layer5 is the best in terms of work ethics, community management, a healthy work environment, and a lot more. + You can gain real-life working experience on such big projects and guidance related to your career. +
++ I gradually started learning about the project and made myself choose one area to start with and continued to explore further. I kept pushing myself with patience until I feel strong and capable enough to + take responsibilities and give my best to the community, Then I asked and applied for an internship and eventually, I got selected. +
+Now I can make more impact and grow more under the right guidance.😃
++ Besides coding at Layer5, I made many new friends, great experiences, and memories. +
++ At last, I would say, join this amazing community and experience the change in yourself. This will open the doors for opportunities for you. Just be tenacious and push yourself, that's all that I did. +
++ Thank you +
+ +- Meshery took its first steps into the cloud native world in July of 2019 with the goal to ease the adoption and operation of cloud native infrastructure with a focus on service meshes as ubiquitous a layer within and outside of Kubernetes deployments. Since then, Meshery as a project and Layer5 as an open source community have grown by leaps and bounds. Now, we are bursting with pride in announcing that Meshery has reached yet another milestone: 1,000 stars on the Meshery repository on GitHub. -
- -- As a project, Meshery is comprised of about 30 repositories, and so, in total, - the project has many more than a thousand stars. The rate by which Meshery is - accumulating stars only continues to accelerate and is a small moment of pride - recognized in the community Slack each time a star is added. As we hit the - 1,000+ stars milestone, let's pause to reflect on the project's incredible - journey since its inception. -
- -- Meshery is an open source, vendor-neutral, extensible management plane that - enables service mesh users to overcome the challenges of complex virtual - networking,{" "} -
{" "} - empowers them to design and apply patterns containing tried and true best - practices, and enables developers, operators, and product managers to - understand and manage their cloud native services with confidence. Meshery is - the only openly-governed service mesh manager. Given its ability to deeply - manage Kubernetes, its workloads, and any service mesh, and the highly - configurable way in which users can load a variety of plugins, the project has - certainly earned its title as the extensible service mesh manager. - - -- Within just a year of its creation,{" "} - - Meshery lands in the CNCF Landscape - - . -
-- Not long after, Meshery was{" "} - - adopted by the CNCF - {" "} - in October 2021. With its natural step into the Cloud Native Computing - Foundation, the contributor community and Meshery's functionality maintains - steadfast in their rate of growth and use. With continuous improvements in the - architecture, user experience and in other features regulated by inclusive - monitoring, the project is gaining traction very quickly. -
- -- It isn't just the number of stars that has grown. We've seen a surge of new - contributors, maintainers, new features, commits, PRs, releases, and so much - more! How do we assess the impact of Meshery? Here are some statistics on how - we track our engagement: -
- -- Note: These metrics and reports were obtained from DevStats, a CNCF-created - tool for analyzing and graphing developer contributions. -
- - - -- Meshery v0.6.0 will release soon, jam-packed full of major new features. Final - release candidate, Meshery v0.6.0-rc-4, available today, so you can take - advantage of Meshery's new functionality now: -
- -- Last, but not least is the announcement of MeshMap's beta release! The waiting - list is filling up fast, so I recommend{" "} - signing up for access now! -
- -+ Meshery took its first steps into the cloud native world in July of 2019 with the goal to ease the adoption and operation of cloud native infrastructure with a focus on service meshes as ubiquitous a layer within and outside of Kubernetes deployments. Since then, Meshery as a project and Layer5 as an open source community have grown by leaps and bounds. Now, we are bursting with pride in announcing that Meshery has reached yet another milestone: 1,000 stars on the Meshery repository on GitHub. +
+ ++ As a project, Meshery is comprised of about 30 repositories, and so, in total, + the project has many more than a thousand stars. The rate by which Meshery is + accumulating stars only continues to accelerate and is a small moment of pride + recognized in the community Slack each time a star is added. As we hit the + 1,000+ stars milestone, let's pause to reflect on the project's incredible + journey since its inception. +
+ ++ Meshery is an open source, vendor-neutral, extensible management plane that + enables service mesh users to overcome the challenges of complex virtual + networking,{" "} +
{" "} + empowers them to design and apply patterns containing tried and true best + practices, and enables developers, operators, and product managers to + understand and manage their cloud native services with confidence. Meshery is + the only openly-governed service mesh manager. Given its ability to deeply + manage Kubernetes, its workloads, and any service mesh, and the highly + configurable way in which users can load a variety of plugins, the project has + certainly earned its title as the extensible service mesh manager. + + ++ Within just a year of its creation,{" "} + + Meshery lands in the CNCF Landscape + + . +
++ Not long after, Meshery was{" "} + + adopted by the CNCF + + {" "} + in October 2021. With its natural step into the Cloud Native Computing + Foundation, the contributor community and Meshery's functionality maintains + steadfast in their rate of growth and use. With continuous improvements in the + architecture, user experience and in other features regulated by inclusive + monitoring, the project is gaining traction very quickly. +
+ ++ It isn't just the number of stars that has grown. We've seen a surge of new + contributors, maintainers, new features, commits, PRs, releases, and so much + more! How do we assess the impact of Meshery? Here are some statistics on how + we track our engagement: +
+ ++ Note: These metrics and reports were obtained from DevStats, a CNCF-created + tool for analyzing and graphing developer contributions. +
+ + + ++ Meshery v0.6.0 will release soon, jam-packed full of major new features. Final + release candidate, Meshery v0.6.0-rc-4, available today, so you can take + advantage of Meshery's new functionality now: +
+ ++ Last, but not least is the announcement of MeshMap's beta release! The waiting + list is filling up fast, so I recommend{" "} + signing up for access now! +
+ +-Great News!🎉🎉 -OpenForce2022 by CodeFlow is here! And Layer5 is joining forces with other open source organizations to make it an unforgettable experience. -OpenForce 2022 is a place where contributors can meet mentors from open source organizations and contribute to projects under guidance, network with project maintainers, and “bring the open source culture” with great enthusiasm. -
--During the program, Layer5 as an open source organization will provide OpenForce specific issues which participants can resolve during the contribution period. In addition, there will be a panel of mentors assigned to assist contributors to overcome any challenges they might face. -Beyond the direct support offered by Layer5 mentors, program participants will have an amazing networking opportunity to connect with the broader set of community members at Layer5. This event will kick-off virtually from March 3rd to March 28th, 2022. -
--The program is organized by CodeFlow, an organization whose main motive is to empower the student community by organizing webinars, hackathons, and open source events, providing them with the best learning environment and helping them gain the principal knowledge about the fast-paced, open source ecosystem. What a great learning opportunity this would prove to be as ‘open source meets its contributor force’ at OpenForce 2022! Come be a part of this amazing initiative. -
--Layer5 is an amazing and welcoming community. -
- -+Great News!🎉🎉 +OpenForce2022 by CodeFlow is here! And Layer5 is joining forces with other open source organizations to make it an unforgettable experience. +OpenForce 2022 is a place where contributors can meet mentors from open source organizations and contribute to projects under guidance, network with project maintainers, and “bring the open source culture” with great enthusiasm. +
++During the program, Layer5 as an open source organization will provide OpenForce specific issues which participants can resolve during the contribution period. In addition, there will be a panel of mentors assigned to assist contributors to overcome any challenges they might face. +Beyond the direct support offered by Layer5 mentors, program participants will have an amazing networking opportunity to connect with the broader set of community members at Layer5. This event will kick-off virtually from March 3rd to March 28th, 2022. +
++The program is organized by CodeFlow, an organization whose main motive is to empower the student community by organizing webinars, hackathons, and open source events, providing them with the best learning environment and helping them gain the principal knowledge about the fast-paced, open source ecosystem. What a great learning opportunity this would prove to be as ‘open source meets its contributor force’ at OpenForce 2022! Come be a part of this amazing initiative. +
++Layer5 is an amazing and welcoming community. +
+ +- The Contributhon Program is organized by She Code Africa, a non-profit organization focused on celebrating and empowering young Girls and Women in Technology across Africa. They provide support through diverse offline and online communities, resources, mentorship, and organize amazing programs and initiatives to always keep members or participants engaged. -
- -- The Contributhon Program is a virtual open-source Bootcamp focused on building more women open-source contributors & creating more diversity in the African open source ecosystem. During this Bootcamp, participants work with an open-source organization on a project for the period of 8 weeks with the help of organization mentors. -
- -- At the end of the Bootcamp, participants get rewarded a stipend of $500 upon successful project completion. -
- -- Layer5 is participating as a mentoring organization and will be working directly with the program participants during the Bootcamp to help ensure that the project is completed successfully. -
- -- At Layer5 we use Layer5 Community Forum for discussions in the community, this platform is active and it is easy to miss out on questions answered or important information. For this project, we want to create a leaderboard to show the most active participants based on helpful answers, questions asked, and more. -
- -- Our selected mentors, Ekene Leonard Nwobodo, Yash Kamboj, Etiene James, Raj Gaurav Maurya and Kunal Verma who are trusted, capable, and qualified will guide participants Oyindamola Dawodu and Ednah Akoth throughout the duration of this Bootcamp, help them become a part of the community, teach them how to stay motivated and productive, show them how to solve technical problems, and also give constructive feedback as they keep track of the participants progress -
- -- The She Code Africa hosts their Contributhon as an Africa-wide open source boot camp focused on building more women OSS contributors & creating more diversity in the African open source ecosystem by matching African women in technology with sponsors and mentors from Open Source organizations. During this boot camp, participants work with an open source organisation on a project for 4 weeks with the help of organisation mentors and get rewarded at the end of the boot camp upon successful project completion. -
- -- This program kicks off virtually from April 1, 2022, to May 28, 2022. -
- -+ The Contributhon Program is organized by She Code Africa, a non-profit organization focused on celebrating and empowering young Girls and Women in Technology across Africa. They provide support through diverse offline and online communities, resources, mentorship, and organize amazing programs and initiatives to always keep members or participants engaged. +
+ ++ The Contributhon Program is a virtual open-source Bootcamp focused on building more women open-source contributors & creating more diversity in the African open source ecosystem. During this Bootcamp, participants work with an open-source organization on a project for the period of 8 weeks with the help of organization mentors. +
+ ++ At the end of the Bootcamp, participants get rewarded a stipend of $500 upon successful project completion. +
+ ++ Layer5 is participating as a mentoring organization and will be working directly with the program participants during the Bootcamp to help ensure that the project is completed successfully. +
+ ++ At Layer5 we use Layer5 Community Forum for discussions in the community, this platform is active and it is easy to miss out on questions answered or important information. For this project, we want to create a leaderboard to show the most active participants based on helpful answers, questions asked, and more. +
+ ++ Our selected mentors, Ekene Leonard Nwobodo, Yash Kamboj, Etiene James, Raj Gaurav Maurya and Kunal Verma who are trusted, capable, and qualified will guide participants Oyindamola Dawodu and Ednah Akoth throughout the duration of this Bootcamp, help them become a part of the community, teach them how to stay motivated and productive, show them how to solve technical problems, and also give constructive feedback as they keep track of the participants progress +
+ ++ The She Code Africa hosts their Contributhon as an Africa-wide open source boot camp focused on building more women OSS contributors & creating more diversity in the African open source ecosystem by matching African women in technology with sponsors and mentors from Open Source organizations. During this boot camp, participants work with an open source organisation on a project for 4 weeks with the help of organisation mentors and get rewarded at the end of the boot camp upon successful project completion. +
+ ++ This program kicks off virtually from April 1, 2022, to May 28, 2022. +
+ +Lee Calcote and Nic Jackson gave a presentation entitled Extending the Docker Compose Experience to Service Mesh at DockerCon 2022.
@@ -111,13 +111,17 @@ MeshMap is the world's only visual designer for Kubernetes and all cloud native These Docker Extensions are so powerful that it allows you to do multiple tasks without leaving Docker Desktop. --Lee Calcote and Nic Jackson packed a great deal of information in this talk. Find the recording below. The Meshery Extension is now out! Try now, and Share your Experience -Apply for MeshMap Beta Program + + Lee Calcote and Nic Jackson packed a great deal of information in this talk. Find the recording below. The Meshery Extension is now out! Try now, and Share your Experience + + + Apply for MeshMap Beta Program +
diff --git a/src/collections/blog/2022/2022-05-10-dockercon-22-hpe-talk/index.mdx b/src/collections/blog/2022/2022-05-10-dockercon-22-hpe-talk/index.mdx index 05363de9f1f2..e78b67f4aabe 100644 --- a/src/collections/blog/2022/2022-05-10-dockercon-22-hpe-talk/index.mdx +++ b/src/collections/blog/2022/2022-05-10-dockercon-22-hpe-talk/index.mdx @@ -1,131 +1,125 @@ ---- -title: "Extending Docker with Meshery, SPIRE, and Istio" -date: 2022-05-10 10:30:05 -0530 -author: Gaurav Chadha -thumbnail: ./dc22-hpe-talk.webp -darkthumbnail: ./dc22-hpe-talk.webp -description: "DockerCon 2022 talk with HPE and Meshery Docker Extension Demo" -category: "Docker" -tags: - - Docker - - Meshery -published: true -resource: true -type: Blog -technology: Docker -product: Docker Extension -featured: true ---- - -import { BlogWrapper } from "../../Blog.style.js"; -import Blockquote from "../../../../reusecore/Blockquote"; -import { Link } from "gatsby"; -import CloudNative from './cloud-native-management.webp'; -import CloudNativeIdentity from './cloud-native-identity.webp'; -import dde from './dde.webp'; -import designer from './Designer.webp'; -import visualizer from './Visualizer.webp'; -import meshmapInDocker from './meshmap-docker-extension-for-meshery.webp'; - -- Lee Calcote and Maximiliano Churichi gave a presentation entitled Extending Docker with Meshery, SPIRE, and Istio at DockerCon 2022. -
-- Lee Calcote is an innovative product and technology leader, passionate about empowering engineers and enabling organizations. As the founder and CEO of Layer5, he is at the forefront of the cloud native movement. -
- -- Maximiliano Churichi is a Software Engineer at Hewlett Packard Enterprise, working in the Security Engineering team, and fully engaged in open source technologies, passionate about service mesh and cloud-native security. -
- -- Lee Calcote introduces Meshery as a Cloud Native Management Plane, stating, "Meshery does Lifecycle and Performance Management of 10 different service meshes more than that it helps with configuration management with Kubernetes and with the Meshery Docker Extension it does same for the Docker Compose application." -
-- "As a Docker Captain, Lee have always been a proponent of Docker, and in particular its enablement of developer workflows", "Now, Docker Extensions bring an integrated experience with ecosystem tooling, like Meshery - a critical tool for developers, who are configuring and managing cloud native applications." -
- -- Maximiliano Churichi briefly explains about Cloud Native Identity and HPE's open source Project Mithril, "SPIFFE (Secure Production Identity Framework For Everyone) is a CNCF-incubated project that defines a set of standards for identifying and securing communications between application services. The SPIRE project (another CNCF project), the SPIFFE Runtime Environment, is a production-ready reference implementation of the SPIFFE principles, and additionally it also implements a set of APIs for controlling attestation policies, and coordinate certificate issuance and rotation." -
- -- Maximiliano also tells how HPE's Project Mithril integrates SPIRE and Istio to strengthen service identity in the data plane. Project Mithril leverages the service management capabilities of Istio and the strong identity by attestation principles of SPIFFE and SPIRE to deliver robust and flexible attestation beyond Kubernetes namespaces and service accounts, and provide end-to-end secure attestation of workloads based on zero trust principles regardless of the location of such workloads. The improvements introduced by Project Mithril were already upstreamed into Istio, and are expected to be released in the upcoming Istio 1.14. Starting from this release, Istio users will be able to leverage SPIRE for SPIFFE identities management, and stronger identity attestation mechanisms. -
--
- - The new Meshery Docker Extension brings Layer5 MeshMap, the world's only visual designer for Kubernetes and service mesh deployments, to the desktop of millions of developers. Developers and operators alike can visually configure and operate their cloud native infrastructure and applications using MeshMap's low code visual designer. -
- -- Maximiliano Churichi, Software Engineer at HPE says how conveniently Meshery integrates different services into Docker. -
--
-
-
Lee Calcote and Maximiliano Churichi packed a great deal of information in this talk. Find the recording below. The Meshery Extension is now out! Try now, and Share your Experience -Apply for MeshMap Beta Program -
- - +--- +title: "Extending Docker with Meshery, SPIRE, and Istio" +date: 2022-05-10 10:30:05 -0530 +author: Gaurav Chadha +thumbnail: ./dc22-hpe-talk.webp +darkthumbnail: ./dc22-hpe-talk.webp +description: "DockerCon 2022 talk with HPE and Meshery Docker Extension Demo" +category: "Docker" +tags: + - Docker + - Meshery +published: true +resource: true +type: Blog +technology: Docker +product: Docker Extension +featured: true +--- + + + + +import CloudNative from "./cloud-native-management.webp"; +import CloudNativeIdentity from "./cloud-native-identity.webp"; +import dde from "./dde.webp"; +import designer from "./Designer.webp"; +import visualizer from "./Visualizer.webp"; +import meshmapInDocker from "./meshmap-docker-extension-for-meshery.webp"; + ++ Lee Calcote and Maximiliano Churichi gave a presentation entitled Extending Docker with Meshery, SPIRE, and Istio at DockerCon 2022. +
++ Lee Calcote is an innovative product and technology leader, passionate about empowering engineers and enabling organizations. As the founder and CEO of Layer5, he is at the forefront of the cloud native movement. +
+ ++ Maximiliano Churichi is a Software Engineer at Hewlett Packard Enterprise, working in the Security Engineering team, and fully engaged in open source technologies, passionate about service mesh and cloud-native security. +
+ ++ Lee Calcote introduces Meshery as a Cloud Native Management Plane, stating, "Meshery does Lifecycle and Performance Management of 10 different service meshes more than that it helps with configuration management with Kubernetes and with the Meshery Docker Extension it does same for the Docker Compose application." +
++ "As a Docker Captain, Lee have always been a proponent of Docker, and in particular its enablement of developer workflows", "Now, Docker Extensions bring an integrated experience with ecosystem tooling, like Meshery - a critical tool for developers, who are configuring and managing cloud native applications." +
+ ++ Maximiliano Churichi briefly explains about Cloud Native Identity and HPE's open source Project Mithril, "SPIFFE (Secure Production Identity Framework For Everyone) is a CNCF-incubated project that defines a set of standards for identifying and securing communications between application services. The SPIRE project (another CNCF project), the SPIFFE Runtime Environment, is a production-ready reference implementation of the SPIFFE principles, and additionally it also implements a set of APIs for controlling attestation policies, and coordinate certificate issuance and rotation." +
+ ++ Maximiliano also tells how HPE's Project Mithril integrates SPIRE and Istio to strengthen service identity in the data plane. Project Mithril leverages the service management capabilities of Istio and the strong identity by attestation principles of SPIFFE and SPIRE to deliver robust and flexible attestation beyond Kubernetes namespaces and service accounts, and provide end-to-end secure attestation of workloads based on zero trust principles regardless of the location of such workloads. The improvements introduced by Project Mithril were already upstreamed into Istio, and are expected to be released in the upcoming Istio 1.14. Starting from this release, Istio users will be able to leverage SPIRE for SPIFFE identities management, and stronger identity attestation mechanisms. +
++
+ + The new Meshery Docker Extension brings Layer5 MeshMap, the world's only visual designer for Kubernetes and service mesh deployments, to the desktop of millions of developers. Developers and operators alike can visually configure and operate their cloud native infrastructure and applications using MeshMap's low code visual designer. +
+ ++ Maximiliano Churichi, Software Engineer at HPE says how conveniently Meshery integrates different services into Docker. +
++
+
+
Lee Calcote and Maximiliano Churichi packed a great deal of information in this talk. Find the recording below. The Meshery Extension is now out! Try now, and Share your Experience Apply for MeshMap Beta Program
+ +Lee Calcote and Mrittika Ganguli presented MeshMark: Service Mesh value measurement at ServiceMeshCon Europe 2022.
@@ -102,8 +102,8 @@ the value that your infrastructure is providing. So we're really kind of missing- - + +
@@ -130,11 +130,14 @@ We could also take a look at service intentions of console and examine the efficMeshMark in Meshery (an excerpt from ServiceMeshCon EU 2022 demo)
Lee Calcote and Mrittika Ganguli covered all the concepts of SMP and MeshMark in this great talk. Learn more about MeshMark on the Service Mesh Performance website. +
+ + Lee Calcote and Mrittika Ganguli covered all the concepts of SMP and MeshMark in this great talk. Learn more about MeshMark on the Service Mesh Performance website. +
diff --git a/src/collections/blog/2022/2022-05-20-meshmate-of-the-year-2021-aditya-chatterjee/index.mdx b/src/collections/blog/2022/2022-05-20-meshmate-of-the-year-2021-aditya-chatterjee/index.mdx index 4d55b829eb6f..5382cd742000 100644 --- a/src/collections/blog/2022/2022-05-20-meshmate-of-the-year-2021-aditya-chatterjee/index.mdx +++ b/src/collections/blog/2022/2022-05-20-meshmate-of-the-year-2021-aditya-chatterjee/index.mdx @@ -1,272 +1,271 @@ ---- -title: "MeshMate of the Year 2021: Aditya Chatterjee" -subtitle: "" -date: 2022-05-20 09:10:00 +0000 -author: Nikhil Ladha -thumbnail: ./MeshMate-of-the-Year-2021-Aditya-Chatterjee.webp -darkthumbnail: ./MeshMate-of-the-Year-2021-Aditya-Chatterjee.webp -category: Community -tags: - - Community -published: true ---- - -import { BlogWrapper } from "../../Blog.style.js"; -import MMoY2021 from "./meshmate-of-the-year-2021.svg"; -import Blockquote from "../../../../reusecore/Blockquote"; -import BlockquoteAlt from "../../../../reusecore/Blockquote/Blockquote-alt-style"; -import { Link } from "gatsby"; -import graduateLFX from "./aditya-chatterjee-graduates-lfx-meshery-program.webp"; -import MeshMate from "../../../../assets/images/meshmate/meshmate-stack.svg"; -import MMOYAditya from "./MeshMate-of-the-Year-2021-Aditya-Chatterjee.webp"; - -- Nuturing a diverse, inclusive, and newcomer-friendly community like Layer5's - is not easy. As a group of hardworking, committed mentors,{" "} - - MeshMates - - , tirelessly work to help make the Layer5 community the award-winning, open - source community that it is. Each year, out of the group of MeshMates who - continuously engage and support community members, a single individual is - identified as the of MeshMate of the Year. -
- -- As the{" "} - - inaugral winner of last year's - {" "} - MeshMate of the Year award, I am honored to present the prestigious MeshMate - of the Year badge to{" "} - - Aditya Chatterjee - - . Chosen by his peers and for his sheer dedication, Aditya Chatterjee is - awarded this badge of honor for 2021.{" "} - Congratulations mate, you have earned it! -
- -{" "} - - -- - MeshMate - - is a distinction that Layer5 awards select members of the community who innately - align with our culture of helping others, paying it forward, and a commitment to - knowledge sharing. MeshMates are Layer5 mentors and ambassadors (not employees). -
- -- A Layer5 MeshMate is individual who has consistently demonstrated their - commitment to helping community members. The MeshMate program pairs - experienced Layer5 community members with community newcomers to ensure a - smooth onboarding experience. Helping community members takes all forms from - ensuring the member has access to resources, is introduced to others, - understands the vision and goals of projects, can build and contribute to - projects, can use projects and have their feedback heard.{" "} -
- MeshMates aid in identifying areas of projects and activities within the community - to engage within, which working groups to join, and in help community members grow - in their open source and cloud native knowledge. - - -- There is a lot going in the Layer5 community. Projects and working groups move - fast. By connecting one-on-one, MeshMates share tips on how to have the best - community experience possible, but also build a relationship with the - community member inevitably leaving a lasting mark as is evident from member - comments about Aditya. -
- -
- With thousands of members in the Layer5 community, many come and go. Many take
- and many give. While we hope that each and every individual that joins will
- find a fit in the community and/or on a project, this isn't always the case.
-
- One of the goals MeshMates have is that of enabling the newcomer's passion and - finding their sweetspot in the community and on a project, so that the - newcomer ultimately achieves their goals - goals that are often similar, but - different for each person. To help them acheive their goals, each individual - is engaged 1:1 by their Meshmate, supporting them in becoming a landstanding - Layer5 community member and contributor. MeshMates understand that many - mentees start out with the best of intentions, but that not all overcome their - hurdles in finding an area of the community to call home or aspect of a - project to own. -
- -- With all that said, you must have already realized that it is not easy being a - MeshMate. Only a few get this opportunity by showcasing their abilities and - commitment to the community. Aditya has always hovered around the horizon of - MeshMate since the moment he joined the community. In process of confirming - Aditya as the winner of the MeshMate of the Year award, we looked to the - community for validation. Little did I realize that meant reaching out to - nearly a hundred people whom Aditya has mentored or supported in the Layer5 - community. More than a few of them had something to say about their time with - Aditya: -
- -- Aditya graduates the LFX Meshery program. -
-- In recognition a year's worth of paying it forward, and for the award,{" "} - Aditya Chatterjee's - profile identifies him as the MeshMate of the Year award winner. Only two - people carry this badge today. I can only guess as to who this ribbon may be - awarded to in 2022. In the year and a half that Aditya has been in the - community, he has touched the lives of many people, including mine. -
- - -- The MeshMate badge is a point of pride for individuals participating in the - program and looked upon with admiration and veneration by many within and - external to the Layer5 community. -
- -- Wear your MeshMate of the Year badge proudly, Aditya. -
- -+ Nuturing a diverse, inclusive, and newcomer-friendly community like Layer5's + is not easy. As a group of hardworking, committed mentors,{" "} + + MeshMates + + , tirelessly work to help make the Layer5 community the award-winning, open + source community that it is. Each year, out of the group of MeshMates who + continuously engage and support community members, a single individual is + identified as the of MeshMate of the Year. +
+ ++ As the{" "} + + inaugral winner of last year's + + {" "}MeshMate of the Year award, I am honored to present the prestigious MeshMate + of the Year badge to{" "} + + Aditya Chatterjee + + . Chosen by his peers and for his sheer dedication, Aditya Chatterjee is + awarded this badge of honor for 2021.{" "} + Congratulations mate, you have earned it! +
+ +{" "} + + ++ + MeshMate + + is a distinction that Layer5 awards select members of the community who innately + align with our culture of helping others, paying it forward, and a commitment to + knowledge sharing. MeshMates are Layer5 mentors and ambassadors (not employees). +
+ ++ A Layer5 MeshMate is individual who has consistently demonstrated their + commitment to helping community members. The MeshMate program pairs + experienced Layer5 community members with community newcomers to ensure a + smooth onboarding experience. Helping community members takes all forms from + ensuring the member has access to resources, is introduced to others, + understands the vision and goals of projects, can build and contribute to + projects, can use projects and have their feedback heard.{" "} +
+ MeshMates aid in identifying areas of projects and activities within the community + to engage within, which working groups to join, and in help community members grow + in their open source and cloud native knowledge. + + ++ There is a lot going in the Layer5 community. Projects and working groups move + fast. By connecting one-on-one, MeshMates share tips on how to have the best + community experience possible, but also build a relationship with the + community member inevitably leaving a lasting mark as is evident from member + comments about Aditya. +
+ +
+ With thousands of members in the Layer5 community, many come and go. Many take
+ and many give. While we hope that each and every individual that joins will
+ find a fit in the community and/or on a project, this isn't always the case.
+
+ One of the goals MeshMates have is that of enabling the newcomer's passion and + finding their sweetspot in the community and on a project, so that the + newcomer ultimately achieves their goals - goals that are often similar, but + different for each person. To help them acheive their goals, each individual + is engaged 1:1 by their Meshmate, supporting them in becoming a landstanding + Layer5 community member and contributor. MeshMates understand that many + mentees start out with the best of intentions, but that not all overcome their + hurdles in finding an area of the community to call home or aspect of a + project to own. +
+ ++ With all that said, you must have already realized that it is not easy being a + MeshMate. Only a few get this opportunity by showcasing their abilities and + commitment to the community. Aditya has always hovered around the horizon of + MeshMate since the moment he joined the community. In process of confirming + Aditya as the winner of the MeshMate of the Year award, we looked to the + community for validation. Little did I realize that meant reaching out to + nearly a hundred people whom Aditya has mentored or supported in the Layer5 + community. More than a few of them had something to say about their time with + Aditya: +
+ ++ Aditya graduates the LFX Meshery program. +
++ In recognition a year's worth of paying it forward, and for the award,{" "} + Aditya Chatterjee's + profile identifies him as the MeshMate of the Year award winner. Only two + people carry this badge today. I can only guess as to who this ribbon may be + awarded to in 2022. In the year and a half that Aditya has been in the + community, he has touched the lives of many people, including mine. +
+ + ++ The MeshMate badge is a point of pride for individuals participating in the + program and looked upon with admiration and veneration by many within and + external to the Layer5 community. +
+ ++ Wear your MeshMate of the Year badge proudly, Aditya. +
+ +- Trying to figure out what's happening with your request traffic? Not sure why your Envoy configuration isn't working? If you're using Istio as your gateway and need to troubleshoot your ingress traffic requests, here are a few tips for debugging Envoy proxy. -
-
- By default Envoy system logs are sent to /dev/stderr
. This location be overridden using --log-path
. Logging to /dev/stderr
for system logs and to /dev/stdout
for access logs can be useful when running Envoy inside a container. In this way, these two individual logstreams can be separated, and using this approach, logging requires no additional files or directories to be mounted.
-
- We recommend setting the Envoy proxy’s log level to debug in a pre-production environment. Debug logs can help you identify issues before you graduate the associated configuration to your production environment. -
-
- The envoy command has a --log-level
flag that can be useful for debugging. By default, it’s set to info. To change it to debug, edit the envoy DaemonSet in the istio-system namespace and replace the --log-level info
flag with --log-level debug
. Setting the Envoy log level to debug can be particilarly useful for debugging TLS connection failures.
-
- If you’re using the Envoy image, you can set the log level to debug through the ENVOY_LOG_LEVEL
environment variable. The log level for Envoy system logs can be set using the -l
or --log-level
option.
-
- The Consul helm chart uses envoyExtraArgs:
to leverage Envoy command line options. One of the helpful options is --component-log-level
. This provides granular control over setting log levels for Envoy components. In the example below, the components upstream, http, router and config are set to the debug log level. These four components are vital when debugging issues with requests between your services(sidecar proxies).
-
- connectInject:
- enabled: true
- envoyExtraArgs: "--component-log-level upstream:debug,http:debug,router:debug,config:debug"
-
-- If you haven't set envoyExtraArgs: in consul-values.yaml just yet, you can set the log levels on the fly by using the following kubectl command: -
- -
- $ kubectl exec pod/pod-name -c container-name -- curl -X POST http://localhost:19000/logging?config=debug
-
-Example:
- -
- $ kubectl exec pod/static-client-5bf4575d9c-zr2b -c static-client -- curl -X POST http://localhost:19000/logging?config=debug
-
-
- You will execute the kubectl command for each component. Make sure to append the correct component at the end of the curl command, i.e. logging? component = debug
.
-
- If curl is not able to be used in your pod, you can alternatively use kubectl port-forward pod-name 19000
to make the Envoy admin accessible. From another terminal window, you can then curl to change the log levels. The output you receive in the terminal will show the modified component log levels.
-
- $ curl -X POST http://localhost:19000/logging? component = debug
-
-Accessing Envoy logs via pods can be done with the following command:
- -
- $ kubectl logs --follow pod/ pod-name -c envoy-sidecar
-
-The --follow flag provides a real time observation into Envoy logs.
- -The following command will start an envoy side car proxy, set the log level to debug with -l debug and capture Envoy logs in envoy_logs.txt. The .txt file will need to be created before executing this command.
- -
- $ consul connect envoy -sidecar-for counting-1 -- -l debug --log-path envoy_logs.txt
-
-To have granular control over the Envoy components that is needed to be debugged, use the following command:
- -
- $ consul connect envoy -sidecar-for counting-1 -- --log-path envoy_logs.txt --component-log-level upstream:debug,http:debug,router:debug,config:debug
-
-
- With Istio as your gateway, you should first look at VirtualService
objects. These can show if the hosts are registered to the gateway correctly.
-
- $ kubectl get virtualservice -o=yaml
-
-- However, sometimes, the Envoy inside the gateway container is not properly configured (likely due to a bug). You can dump Envoy configuration to debug this further. -
- -
- # find istio ingress gateway pod \
- $ kubectl get pods -n istio-system -l app=istio-ingressgateway
-
-
- Let's use istio-ingressgateway-a93019f9dfw-l39xd
as an example pod name.
-
-
- # enable debugging on envoy \
- $ kubectl exec --namespace=istio-system \
- istio-ingressgateway-a93019f9dfw-l39xd \
- -c istio-proxy -- curl -X POST \
- http://localhost:15000/logging?level=debug
-
-
-
- Then, use istioctl
tool to dump route configuration (this will show the output from the /config_dump
admin endpoint on Envoy):
-
-
- $ istioctl proxy-config routes -n istio-system -o=json \
- istio-ingressgateway-a93019f9dfw-l39xd
-
-
-- We hope these steps are useful to you. If you're still having trouble configuring Envoy proxy, open up a new thread on the community discussion forum or subscribe to the Layer5 newletter for tips and tricks. -
- +--- +title: "Debug Envoy Proxy" +subtitle: "" +description: "An open index for measuring performance of cloud native infrastructure in context of the value provided to your business." +date: 2022-05-27 09:10:00 +0000 +author: Layer5 Team +thumbnail: ./debug-envoy-proxy.svg +darkthumbnail: ./debug-envoy-proxy.svg +category: Service Mesh +tags: + - Envoy + - Troubleshooting +published: true +resource: true +type: Blog +redirect_from: + - /blog/envoy/debug-envoy-proxy/ + - /blog/envoy/debug-envoy-proxy +--- + +import bugEnvoy from "./debug-envoy-proxy.svg"; + + ++ Trying to figure out what's happening with your request traffic? Not sure why your Envoy configuration isn't working? If you're using Istio as your gateway and need to troubleshoot your ingress traffic requests, here are a few tips for debugging Envoy proxy. +
+
+ By default Envoy system logs are sent to /dev/stderr
. This location be overridden using --log-path
. Logging to /dev/stderr
for system logs and to /dev/stdout
for access logs can be useful when running Envoy inside a container. In this way, these two individual logstreams can be separated, and using this approach, logging requires no additional files or directories to be mounted.
+
+ We recommend setting the Envoy proxy’s log level to debug in a pre-production environment. Debug logs can help you identify issues before you graduate the associated configuration to your production environment. +
+
+ The envoy command has a --log-level
flag that can be useful for debugging. By default, it’s set to info. To change it to debug, edit the envoy DaemonSet in the istio-system namespace and replace the --log-level info
flag with --log-level debug
. Setting the Envoy log level to debug can be particilarly useful for debugging TLS connection failures.
+
+ If you’re using the Envoy image, you can set the log level to debug through the ENVOY_LOG_LEVEL
environment variable. The log level for Envoy system logs can be set using the -l
or --log-level
option.
+
+ The Consul helm chart uses envoyExtraArgs:
to leverage Envoy command line options. One of the helpful options is --component-log-level
. This provides granular control over setting log levels for Envoy components. In the example below, the components upstream, http, router and config are set to the debug log level. These four components are vital when debugging issues with requests between your services(sidecar proxies).
+
+ connectInject:
+ enabled: true
+ envoyExtraArgs: "--component-log-level upstream:debug,http:debug,router:debug,config:debug"
+
++ If you haven't set envoyExtraArgs: in consul-values.yaml just yet, you can set the log levels on the fly by using the following kubectl command: +
+ +
+ $ kubectl exec pod/pod-name -c container-name -- curl -X POST http://localhost:19000/logging?config=debug
+
+Example:
+ +
+ $ kubectl exec pod/static-client-5bf4575d9c-zr2b -c static-client -- curl -X POST http://localhost:19000/logging?config=debug
+
+
+ You will execute the kubectl command for each component. Make sure to append the correct component at the end of the curl command, i.e. logging? component = debug
.
+
+ If curl is not able to be used in your pod, you can alternatively use kubectl port-forward pod-name 19000
to make the Envoy admin accessible. From another terminal window, you can then curl to change the log levels. The output you receive in the terminal will show the modified component log levels.
+
+ $ curl -X POST http://localhost:19000/logging? component = debug
+
+Accessing Envoy logs via pods can be done with the following command:
+ +
+ $ kubectl logs --follow pod/ pod-name -c envoy-sidecar
+
+The --follow flag provides a real time observation into Envoy logs.
+ +The following command will start an envoy side car proxy, set the log level to debug with -l debug and capture Envoy logs in envoy_logs.txt. The .txt file will need to be created before executing this command.
+ +
+ $ consul connect envoy -sidecar-for counting-1 -- -l debug --log-path envoy_logs.txt
+
+To have granular control over the Envoy components that is needed to be debugged, use the following command:
+ +
+ $ consul connect envoy -sidecar-for counting-1 -- --log-path envoy_logs.txt --component-log-level upstream:debug,http:debug,router:debug,config:debug
+
+
+ With Istio as your gateway, you should first look at VirtualService
objects. These can show if the hosts are registered to the gateway correctly.
+
+ $ kubectl get virtualservice -o=yaml
+
++ However, sometimes, the Envoy inside the gateway container is not properly configured (likely due to a bug). You can dump Envoy configuration to debug this further. +
+ +
+ # find istio ingress gateway pod \
+ $ kubectl get pods -n istio-system -l app=istio-ingressgateway
+
+
+ Let's use istio-ingressgateway-a93019f9dfw-l39xd
as an example pod name.
+
+
+ # enable debugging on envoy \
+ $ kubectl exec --namespace=istio-system \
+ istio-ingressgateway-a93019f9dfw-l39xd \
+ -c istio-proxy -- curl -X POST \
+ http://localhost:15000/logging?level=debug
+
+
+
+ Then, use istioctl
tool to dump route configuration (this will show the output from the /config_dump
admin endpoint on Envoy):
+
+
+ $ istioctl proxy-config routes -n istio-system -o=json \
+ istio-ingressgateway-a93019f9dfw-l39xd
+
+
++ We hope these steps are useful to you. If you're still having trouble configuring Envoy proxy, open up a new thread on the community discussion forum or subscribe to the Layer5 newletter for tips and tricks. +
+Many questions were asked, answered, and a variety of topics were discussed. The story just gets better. This podcast goes deep into service meshes, load generators, circuit breaker, service mesh patterns in addition to a live demo of Meshery and more. Hosted by Henrik from Perfbytes and joined by Mark, Lee Calcote from Layer5 and Mrittika Ganguli from Intel. Tune in to find out more. Get answers to all community questions as a bonus.
- -Service mesh is one of the solutions that helps you to route traffic within your cluster so as to expose your services outside the cluster. It is a solution to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. You have different options like the service type load balancer or using ingress but service mesh makes sense because it will manage a lot of features around your service to service communication.
--The way I prefer to think about a surface mesh is that it's all about resiliency. -If you were to take a three-tiered web or three-tiered app and you think about how you're breaking out those tiers with some amount of -kind of vertical scaling, you'd probably, end up putting at least a virtual IP address out in front of the whole web tier and then you've got an app tier and a database tier because you've got multiple instances of those things. Maybe there's a load balancer in between. This structure makes it simple to boost your resiliency. -
--Meshery has a number of components to its architecture. There is Meshery UI. It has a Mesheryctl, which is a CLI component. We have a number of service mesh adapters for each service mesh that Meshery supports. -
- -Lee expounds on that for our benefit. -It takes weeks to months that you've got to dedicate for performance engineers to go over and like pull together various tools and scripts around them to then get into a spreadsheet or into some database that you then generate results. -The genesis of Meshery part was to help people comprehend what a service mesh is, when to use one and which one to use? As you go to explain these common questions, the real answer is a totally disappointing, which is, it just depends on what you're asking to do.
--People want to measure it in cold hard quantitative metrics but if you're asking to do 100 percent sampling then also consider the distributed tracing implementation you had somewhere else and the fact that you're getting it -in a uniform way here. Maybe you're likely to consider the overhead that you would have over there. It's frustrating to be trying to explain stuff to folks and get them excited about the tech and and to give them a vague response. Instead we give them a tool that says "Hey look here's a tool that will deploy any of the service meshes that you want to test out." -
--There's a reason why there's ten of them like and actually many more than that. -There's a lot of overlap between them but different tools for different purposes for different size orgs, so it would be inappropriate to say well you know here's the one. It's rather hey here's a tool that that lets you deploy any number of them quickly, answer your own question about performance, because we can pump out benchmarks of the various service meshes under various configurations, using different types of workloads but which may or may not match your environment and over time those reports are going to get stale and so rather he's a tool to make you empowered. -
-That leads us to probably talk about one of our other projects which is called Performance which is a specification. It's another one of the projects that we've donated to the CNCF. Service Mesh Performance is the spec while Meshery is an implementation of the spec. -At a high level, if those other load generators were to adhere to how we standardize and describe the test that you want to run and then hand off that configuration to generate the performance profiles that are created here you're not gonna down download them but the descriptor is important. -
-This implements a standard for the industry on what is the actual -service mesh test and then standardize the format so then anyone can use the same format to design their script or whatever they want and then use it to test. -So when I build a script, and I don't know loadrunner today and I want to use neologo tomorrow, then I don't have to rewrite everything. Great! -Many questions were asked, answered, and a variety of topics were discussed. The story just gets better. This podcast goes deep into service meshes, load generators, circuit breaker, service mesh patterns in addition to a live demo of Meshery and more. Hosted by Henrik from Perfbytes and joined by Mark, Lee Calcote from Layer5 and Mrittika Ganguli from Intel. Tune in to find out more. Get answers to all community questions as a bonus.
+ +Service mesh is one of the solutions that helps you to route traffic within your cluster so as to expose your services outside the cluster. It is a solution to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. You have different options like the service type load balancer or using ingress but service mesh makes sense because it will manage a lot of features around your service to service communication.
++The way I prefer to think about a surface mesh is that it's all about resiliency. +If you were to take a three-tiered web or three-tiered app and you think about how you're breaking out those tiers with some amount of +kind of vertical scaling, you'd probably, end up putting at least a virtual IP address out in front of the whole web tier and then you've got an app tier and a database tier because you've got multiple instances of those things. Maybe there's a load balancer in between. This structure makes it simple to boost your resiliency. +
++Meshery has a number of components to its architecture. There is Meshery UI. It has a Mesheryctl, which is a CLI component. We have a number of service mesh adapters for each service mesh that Meshery supports. +
+ +Lee expounds on that for our benefit. +It takes weeks to months that you've got to dedicate for performance engineers to go over and like pull together various tools and scripts around them to then get into a spreadsheet or into some database that you then generate results. +The genesis of Meshery part was to help people comprehend what a service mesh is, when to use one and which one to use? As you go to explain these common questions, the real answer is a totally disappointing, which is, it just depends on what you're asking to do.
++People want to measure it in cold hard quantitative metrics but if you're asking to do 100 percent sampling then also consider the distributed tracing implementation you had somewhere else and the fact that you're getting it +in a uniform way here. Maybe you're likely to consider the overhead that you would have over there. It's frustrating to be trying to explain stuff to folks and get them excited about the tech and and to give them a vague response. Instead we give them a tool that says "Hey look here's a tool that will deploy any of the service meshes that you want to test out." +
++There's a reason why there's ten of them like and actually many more than that. +There's a lot of overlap between them but different tools for different purposes for different size orgs, so it would be inappropriate to say well you know here's the one. It's rather hey here's a tool that that lets you deploy any number of them quickly, answer your own question about performance, because we can pump out benchmarks of the various service meshes under various configurations, using different types of workloads but which may or may not match your environment and over time those reports are going to get stale and so rather he's a tool to make you empowered. +
+That leads us to probably talk about one of our other projects which is called Performance which is a specification. It's another one of the projects that we've donated to the CNCF. Service Mesh Performance is the spec while Meshery is an implementation of the spec. At a high level, if those other load generators were to adhere to how we standardize and describe the test that you want to run and then hand off that configuration to generate the performance profiles that are created here you're not gonna down download them but the descriptor is important.
+This implements a standard for the industry on what is the actual +service mesh test and then standardize the format so then anyone can use the same format to design their script or whatever they want and then use it to test. +So when I build a script, and I don't know loadrunner today and I want to use neologo tomorrow, then I don't have to rewrite everything. Great! +To newbies, open source contributions may seem daunting. In much the same way that non-techies develop a reverence for programmers courtesy of the film industry’s portrayal of them as wizards whose brains magically sprout up elaborate mathematical models and whose mouths eloquently spew technological jargon, so do newbies perceive contributors: a bunch of techies who debug in seconds, recite programming language documentation by heart and, well, create pull requests in their sleep (this is a bit exaggerated, but you get the point).
@@ -89,7 +89,7 @@ To newbies, open source contributions may seem daunting. In much the same way thDocumentation plays a major role in any project. Even if the project is small or too big, the creator or the team behind the project needs to curate the documentation very well such that it'll be useful for new end users to refer and learn to use the project, troubleshoot the problems occurred and lot more. Thus, we, Layer5 have curated the documentation for Meshery to meet such purposes. Not to mention, mesheryctl
, the CLI client of Meshery needs a curated documentation as well. This blog describes about the evolution of mesheryctl
command reference page.
The initial design of mesheryctl
command reference page is all made using pure markdown and the functionality is handled using Jekyll, the main framework used for Meshery Docs. This handled great at initial stage but had many limitations, such as:
-
mesheryctl
reference page was desperately needed.
-
-
-To tackle the shortcomings of the previous design, I was tasked to redesign the mesheryctl
command reference page entirely. This was a big task at first glance to me, as I was a new contributor back then. Eventually after manipulating the reference section with help of great folks, I was able to pull off the task and the design was updated.
- - -
-The redesign work was done with help of HTML in markdown and with optimization in YAML code. A sample is given below.
- -``` - - - - # mesheryctl mesh - - - ## Description - - {% assign name = site.data.mesheryctlcommands.cmds[page.command] %} - {{ name.description }} - - --- ........... -``` - -- mesheryctl mesh [flags] --
As time passed, we realized that the command reference missed something for a while, though the design has been changed. Then, we thought the idea of automating the generation of docs such that developers don't need to change the code in docs section while working towards mesheryctl
. That's where we got to know that Cobra library (the library for CLI apps made using golang) has a feature to make doc pages automatically. So we decided to incorporate that feature into mesheryctl
docs page as well! After making several changes and a PR, I was finally able to introduce the feature in the docs site!
Using this information provided above in each golang file, the markdown page is generated using Cobra CLI library and thus reducing the workload on the developer by automating via GitHub Actions.
-This is so far on how the mesheryctl
command reference is evolved for now. And I hope that it'll continue to evolve in the field of documentation to serve the users to use Meshery in best way possible.
Documentation plays a major role in any project. Even if the project is small or too big, the creator or the team behind the project needs to curate the documentation very well such that it'll be useful for new end users to refer and learn to use the project, troubleshoot the problems occurred and lot more. Thus, we, Layer5 have curated the documentation for Meshery to meet such purposes. Not to mention, mesheryctl
, the CLI client of Meshery needs a curated documentation as well. This blog describes about the evolution of mesheryctl
command reference page.
+The initial design of mesheryctl
command reference page is all made using pure markdown and the functionality is handled using Jekyll, the main framework used for Meshery Docs. This handled great at initial stage but had many limitations, such as:
+
mesheryctl
reference page was desperately needed.
+
+
+
+To tackle the shortcomings of the previous design, I was tasked to redesign the mesheryctl
command reference page entirely. This was a big task at first glance to me, as I was a new contributor back then. Eventually after manipulating the reference section with help of great folks, I was able to pull off the task and the design was updated.
+ + +
+The redesign work was done with help of HTML in markdown and with optimization in YAML code. A sample is given below.
+ +``` + + + + # mesheryctl mesh + + + ## Description + + {% assign name = site.data.mesheryctlcommands.cmds[page.command] %} + {{ name.description }} + + +++ ........... +``` + ++ mesheryctl mesh [flags] ++
As time passed, we realized that the command reference missed something for a while, though the design has been changed. Then, we thought the idea of automating the generation of docs such that developers don't need to change the code in docs section while working towards mesheryctl
. That's where we got to know that Cobra library (the library for CLI apps made using golang) has a feature to make doc pages automatically. So we decided to incorporate that feature into mesheryctl
docs page as well! After making several changes and a PR, I was finally able to introduce the feature in the docs site!
Using this information provided above in each golang file, the markdown page is generated using Cobra CLI library and thus reducing the workload on the developer by automating via GitHub Actions.
+This is so far on how the mesheryctl
command reference is evolved for now. And I hope that it'll continue to evolve in the field of documentation to serve the users to use Meshery in best way possible.
Hola folks,
-As a contributor, each of us is always striving hard in the ocean to open more and more pull-requests, but being a contributor just doesn't mean only raising PRs, it also means reviewing other PRs, pointing out mistakes, helping others in improving the code-quality/code-reusability/code-readability, helping in finding missing edge-cases that haven't been tackled yet, giving your opinions, writing LGTM, CITY helps nothing but just improving the confidence and engagement of the PR author.
-So put on your Quality Tester hats because here I'll talk about how to test the PRs with the label component/mesheryctl
i.e. pull-requests related to mesheryctl
Okay before we start, I'll like to tell you about GitHub CLI, it helps you checkout PRs very easily in your local system.
-The very first step is to review the PR, suggest changes if you think of any, ask queries, help the author to improve the code quality/readability/reusability, ask questions because asking helps you learn asking more better questions next time.
-PR authors either attach a video showcasing expected behavior or add written instructions about their fix under User Acceptance Behavior
-Now it's the time to checkout PR in your local system, we can check out any PR like this
-gh pr checkout https://github.com/meshery/meshery/pull/4823
-
-You can check if you're into the same branch as the PR author with
-git branch
-
-Well, if we're testing a PR related to mesheryctl, we need to build the binary from the same branch. change your directory to mesheryctl
folder and run
make
-
-This will create a mesheryctl binary according to your OS in the same directory
-Now it's time to test out this newly built binary according to what's been tackled in the PR and related issues. For e.g. system start
has some new functionality, make sure you followed the pull-request/linked-issue instruction for env setup, as sometimes fix/features are tackling an issue with a specific type of environment.
./mesheryctl system start
-
-the ./
helps us in using the newly built cli-binary present in the current directory which we built in 5th step
Wow, that was a ton of work there. well being a Tester is tough but very important before we merge pull requests. Every PR should be marked green with end-to-end testing before merging, we as a project are using GH Workflows to perform standard golang-testing but manual end-to-end testing completely removes margins of error.
- -Hola folks,
+As a contributor, each of us is always striving hard in the ocean to open more and more pull-requests, but being a contributor just doesn't mean only raising PRs, it also means reviewing other PRs, pointing out mistakes, helping others in improving the code-quality/code-reusability/code-readability, helping in finding missing edge-cases that haven't been tackled yet, giving your opinions, writing LGTM, CITY helps nothing but just improving the confidence and engagement of the PR author.
+So put on your Quality Tester hats because here I'll talk about how to test the PRs with the label component/mesheryctl
i.e. pull-requests related to mesheryctl
Okay before we start, I'll like to tell you about GitHub CLI, it helps you checkout PRs very easily in your local system.
+The very first step is to review the PR, suggest changes if you think of any, ask queries, help the author to improve the code quality/readability/reusability, ask questions because asking helps you learn asking more better questions next time.
PR authors either attach a video showcasing expected behavior or add written instructions about their fix under User Acceptance Behavior
Now it's the time to checkout PR in your local system, we can check out any PR like this
+gh pr checkout https://github.com/meshery/meshery/pull/4823
+You can check if you're into the same branch as the PR author with
+git branch
+Well, if we're testing a PR related to mesheryctl, we need to build the binary from the same branch. change your directory to mesheryctl
folder and run
make
+This will create a mesheryctl binary according to your OS in the same directory
+Now it's time to test out this newly built binary according to what's been tackled in the PR and related issues. For e.g. system start
has some new functionality, make sure you followed the pull-request/linked-issue instruction for env setup, as sometimes fix/features are tackling an issue with a specific type of environment.
./mesheryctl system start
+the ./
helps us in using the newly built cli-binary present in the current directory which we built in 5th step
Wow, that was a ton of work there. well being a Tester is tough but very important before we merge pull requests. Every PR should be marked green with end-to-end testing before merging, we as a project are using GH Workflows to perform standard golang-testing but manual end-to-end testing completely removes margins of error.
+ +[good first issue](https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+org%3Alayer5io+org%3Ameshery+org%3Aservice-mesh-performance+org%3Aservice-mesh-patterns+label%3A%22good+first+issue%22+)
tag and expressed interest in working on it despite not knowing what the task was. The issue required knowledge of GitHub Actions, something I was unaware of at the time. After getting the issue assigned, I started researching what GitHub Actions were. I found out that these actions helped automate workflows to build, test, and deploy software. After getting the basics down, I checked if there were any existing GitHub Actions for the auto labeling of the PR. To my surprise, there were a couple of them.
-
-So before actually making a PR, I experimented with the actions extensively in my private repo. I remember making about 20-25 PR in my private repo to get the auto labeler working fine. After verifying that I got the desired results, I made a PR. I also got to discuss my approach in the [Meshery Development Call](https://layer5.io/community/calendar). I was so nervous at that time since that was the first meeting I attended where I had to make people understand what I did and the strategies I used. I was quite thrilled when my code got merged. I was enthralled to see that my code was working and being useful to the community. This motivated me to make more and more contributions.
-
-
-
-### A Journey Never to forget
-
-My Layer5 journey began with this small issue. I gradually started learning more about the projects and made some impactful contributions. I started to engage in the community more prominently. With the help of these contributions, I learned new technologies and techniques. Contributing to the codebase gave me so much exposure to React.js, which would not have been possible if I had done it on my own. I took up issues that used React.js and started solving them, and in no time, I was comfortable with it. I am thankful that I didn’t wait for me to learn more about react and then start contributing. I have always applied this principle, learning more by doing actual stuff rather than sitting there and getting stuck in the tutorial loop.
-
-Another new technology I discovered was Jekyll, a static site generator. I was unfamiliar with this technology as well. I started contributing to issues involving Jekyll and slowly understood the basics and how the language works. I was very happy that I was able to make the [compatibility matrix](https://docs.meshery.io/project/compatibility-matrix), using Jekyll. Even my project for GSoC is written in Jekyll. So, going from not knowing what Jekyll is, to making some big changes, did make me happy.
-
-The community also helped me boost my confidence. The weekly meetings are responsible for this. The way the meetings required me to explain my fixes and give updates regarding the issues I was working on, helped me get vocal and comfortable with talking to various people.
-
-
-
-I am excited to be accepted as a Google Summer of Code Intern for this Summer of 2022. I am looking forward to contributing more and making an impact here. The project assigned to me is to create a dashboard on SMP Website. Results from the [CNCF Cluster labs](https://github.com/layer5io/meshery-smp-action/actions) will be displayed here graphically. I wish to learn more about cloud native technologies and make contributions on the backend too. I also want to state that this will not be the end. I will be engaged with this community as long as I can and will try to give back as much as I can.
-
-### Appreciation for the Community
-
-Finally, I would like to thank the Layer5 Community for always being so supportive whenever I needed it. I took away a very significant lesson from this experience, there is always something to learn, and there is no harm in asking questions if you don't know the answer. It’s kinda hard to find such a welcoming community. There was not a day that I felt completely lost here, and that is what I adore about this community.
-
-Keep Meshing. Thank you.
-
-[good first issue](https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+org%3Alayer5io+org%3Ameshery+org%3Aservice-mesh-performance+org%3Aservice-mesh-patterns+label%3A%22good+first+issue%22+)
tag and expressed interest in working on it despite not knowing what the task was. The issue required knowledge of GitHub Actions, something I was unaware of at the time. After getting the issue assigned, I started researching what GitHub Actions were. I found out that these actions helped automate workflows to build, test, and deploy software. After getting the basics down, I checked if there were any existing GitHub Actions for the auto labeling of the PR. To my surprise, there were a couple of them.
+
+So before actually making a PR, I experimented with the actions extensively in my private repo. I remember making about 20-25 PR in my private repo to get the auto labeler working fine. After verifying that I got the desired results, I made a PR. I also got to discuss my approach in the [Meshery Development Call](https://layer5.io/community/calendar). I was so nervous at that time since that was the first meeting I attended where I had to make people understand what I did and the strategies I used. I was quite thrilled when my code got merged. I was enthralled to see that my code was working and being useful to the community. This motivated me to make more and more contributions.
+
+
+
+### A Journey Never to forget
+
+My Layer5 journey began with this small issue. I gradually started learning more about the projects and made some impactful contributions. I started to engage in the community more prominently. With the help of these contributions, I learned new technologies and techniques. Contributing to the codebase gave me so much exposure to React.js, which would not have been possible if I had done it on my own. I took up issues that used React.js and started solving them, and in no time, I was comfortable with it. I am thankful that I didn’t wait for me to learn more about react and then start contributing. I have always applied this principle, learning more by doing actual stuff rather than sitting there and getting stuck in the tutorial loop.
+
+Another new technology I discovered was Jekyll, a static site generator. I was unfamiliar with this technology as well. I started contributing to issues involving Jekyll and slowly understood the basics and how the language works. I was very happy that I was able to make the [compatibility matrix](https://docs.meshery.io/project/compatibility-matrix), using Jekyll. Even my project for GSoC is written in Jekyll. So, going from not knowing what Jekyll is, to making some big changes, did make me happy.
+
+The community also helped me boost my confidence. The weekly meetings are responsible for this. The way the meetings required me to explain my fixes and give updates regarding the issues I was working on, helped me get vocal and comfortable with talking to various people.
+
+
+
+I am excited to be accepted as a Google Summer of Code Intern for this Summer of 2022. I am looking forward to contributing more and making an impact here. The project assigned to me is to create a dashboard on SMP Website. Results from the [CNCF Cluster labs](https://github.com/layer5io/meshery-smp-action/actions) will be displayed here graphically. I wish to learn more about cloud native technologies and make contributions on the backend too. I also want to state that this will not be the end. I will be engaged with this community as long as I can and will try to give back as much as I can.
+
+### Appreciation for the Community
+
+Finally, I would like to thank the Layer5 Community for always being so supportive whenever I needed it. I took away a very significant lesson from this experience, there is always something to learn, and there is no harm in asking questions if you don't know the answer. It’s kinda hard to find such a welcoming community. There was not a day that I felt completely lost here, and that is what I adore about this community.
+
+Keep Meshing. Thank you.
+
+Meshery's goal is to make the operation of cloud native infrastructure and the service mesh layer of cloud simplified. Originally created by Layer5, Meshery is an open source project with hundreds of contributors world-wide and is actively maintained by engineers from Red Hat, VMware, Intel, Layer5 and others.
-The following instructions expects you to have an active Azure subscription, and Azure CLI installed on your system.
-Create the resource group (a logical group where all our resources will be deployed). The following command creates a resource group named MesheryGroup in southindia
location.
-az group create --name MesheryGroup --location southindia
-
-
-Create AKS cluster using az aks create
. The following command creates aks cluster with a single node.
-az aks create --resource-group MesheryGroup --name MesheryAKS --node-count 1 --generate-ssh-keys
-
-After a few minutes, the command completes and returns a JSON formatted information about the cluster.
-You can connect with your cluster by using az aks get-credentials
, which basically downloads credentials and configure the Kubernetes CLI.
-az aks get-credentials --resource-group MesheryGroup --name MesheryAKS
-
-Verify the connection to your cluster using the kubectl get command
.
-$kubectl get nodes
-
-Meshery server supports customizing authentication flow callback URL, which can be configured in the following way.
- -
-helm install meshery meshery/meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host --create-namespace
-
-Port forward to Meshery UI
- -``` -export POD_NAME=$(kubectl get pods --namespace meshery -l "app.kubernetes.io/name=meshery,app.kubernetes.io/instance=meshery" -o jsonpath="{.items[0].metadata.name}") - -$ kubectl --namespace meshery port-forward $POD_NAME 9081:8080 - -``` -Meshery should now be running in your AKS cluster and the Meshery UI should be accessible at the specified endpoint you’ve exposed to. Navigate to the meshery service endpoint to log into Meshery.
- - - -From here, your Meshery deployment on AKS is ready to use. In order to login to Meshery, authenticate with your chosen provider from the list.
-There are different ways to configure a Meshery on AKS. Join the community and share your deployment’s configuration on the discussion forum today!
- - -Meshery's goal is to make the operation of cloud native infrastructure and the service mesh layer of cloud simplified. Originally created by Layer5, Meshery is an open source project with hundreds of contributors world-wide and is actively maintained by engineers from Red Hat, VMware, Intel, Layer5 and others.
+The following instructions expects you to have an active Azure subscription, and Azure CLI installed on your system.
+Create the resource group (a logical group where all our resources will be deployed). The following command creates a resource group named MesheryGroup in southindia
location.
+az group create --name MesheryGroup --location southindia
+
+
+Create AKS cluster using az aks create
. The following command creates aks cluster with a single node.
+az aks create --resource-group MesheryGroup --name MesheryAKS --node-count 1 --generate-ssh-keys
+
+After a few minutes, the command completes and returns a JSON formatted information about the cluster.
+You can connect with your cluster by using az aks get-credentials
, which basically downloads credentials and configure the Kubernetes CLI.
+az aks get-credentials --resource-group MesheryGroup --name MesheryAKS
+
+Verify the connection to your cluster using the kubectl get command
.
+$kubectl get nodes
+
+Meshery server supports customizing authentication flow callback URL, which can be configured in the following way.
+ +
+helm install meshery meshery/meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host --create-namespace
+
+Port forward to Meshery UI
+ +``` +export POD_NAME=$(kubectl get pods --namespace meshery -l "app.kubernetes.io/name=meshery,app.kubernetes.io/instance=meshery" -o jsonpath="{.items[0].metadata.name}") + +$ kubectl --namespace meshery port-forward $POD_NAME 9081:8080 + +``` +Meshery should now be running in your AKS cluster and the Meshery UI should be accessible at the specified endpoint you’ve exposed to. Navigate to the meshery service endpoint to log into Meshery.
+ + + +From here, your Meshery deployment on AKS is ready to use. In order to login to Meshery, authenticate with your chosen provider from the list.
+There are different ways to configure a Meshery on AKS. Join the community and share your deployment’s configuration on the discussion forum today!
+ + +- From multi-mesh to now multi-cluster, Meshery is - continuously expanding its capability to give developers, operators, and - security engineers more control over their infrastructure. In this post, - we'll take a look behind the scenes at how each component in Meshery's - architecture plays a role in the management of many Kubernetes clusters. -
-- -
- -Just before applying the operation, you will be prompted with a confirmation modal which will provide the information about which cluster(s) that operation will be performed against. As the User interface improves, this same modal will also convey more useful information about the operation they are going to perform. - -- -
- -- -
-- -
- -### Managing Meshery on multiple clusters - -Users can perform cluster related operations from the settings page like adding more clusters, removing data from existing clusters and removing existing clusters. - - - -Meshery also deploys Meshery operator across the cluster it’s about to manage. This operator manages the lifecycle of a Meshery broker and MeshSync. MeshSync pumps the blood into Meshery’s core, in other words, it is responsible for watching all different types of resources by establishing a watch stream over each of them. MeshSync then pumps that data into the NATS server, of which Meshery server itself is a client. From there, Meshery server gets all the relevant data related to activities in the cluster. - -By default, Meshery wants to be as much aware about your infrastructure as possible to provide value so it deploys its operator across each detected cluster. But you can fine tune this configuration by going over each one of them from the table as shown. - - - -If you disconnect your cluster and do not want to persist the data from that cluster then you can perform a fine-grained deletion by deleting all MeshSync data (which are the Kubernetes objects) for that specific cluster. - - -## Future of multi-cluster - -Meshery as an extension point to your infrastructure provides out-of-the-box value by adding components which can be Kubernetes specific, service mesh specific or custom components to add new functionality. We can now add multi-cluster specific components to provide more abstraction. This model can be used along with Meshery’s multi-mesh capabilities to give an overall multi-mesh multi-cluster experience to the user. For instance, your Istio service mesh spanning across multiple clusters can be abstracted and managed by Meshery using custom components such as VirtualGateway and VirtualDestinationRules. In this case, Meshery’s Istio adapter will handle the logic of converting a VirtualGateway into gateways across the clusters. This abstraction provides high value by powering the service mesh to span across the clusters while the Ops team can configure the mesh with minimal effort. - -Just like the example above, many such Meshery extension points are in Meshery to add logic into and add useful functionality. And as more of such extension points are added, Meshery will continue to give more and more power to your cloud native infrastructure. - -+ From multi-mesh to now multi-cluster, Meshery is + continuously expanding its capability to give developers, operators, and + security engineers more control over their infrastructure. In this post, + we'll take a look behind the scenes at how each component in Meshery's + architecture plays a role in the management of many Kubernetes clusters. +
++ +
+ +Just before applying the operation, you will be prompted with a confirmation modal which will provide the information about which cluster(s) that operation will be performed against. As the User interface improves, this same modal will also convey more useful information about the operation they are going to perform. + ++ +
+ ++ +
++ +
+ +### Managing Meshery on multiple clusters + +Users can perform cluster related operations from the settings page like adding more clusters, removing data from existing clusters and removing existing clusters. + + + +Meshery also deploys Meshery operator across the cluster it’s about to manage. This operator manages the lifecycle of a Meshery broker and MeshSync. MeshSync pumps the blood into Meshery’s core, in other words, it is responsible for watching all different types of resources by establishing a watch stream over each of them. MeshSync then pumps that data into the NATS server, of which Meshery server itself is a client. From there, Meshery server gets all the relevant data related to activities in the cluster. + +By default, Meshery wants to be as much aware about your infrastructure as possible to provide value so it deploys its operator across each detected cluster. But you can fine tune this configuration by going over each one of them from the table as shown. + + + +If you disconnect your cluster and do not want to persist the data from that cluster then you can perform a fine-grained deletion by deleting all MeshSync data (which are the Kubernetes objects) for that specific cluster. + + +## Future of multi-cluster + +Meshery as an extension point to your infrastructure provides out-of-the-box value by adding components which can be Kubernetes specific, service mesh specific or custom components to add new functionality. We can now add multi-cluster specific components to provide more abstraction. This model can be used along with Meshery’s multi-mesh capabilities to give an overall multi-mesh multi-cluster experience to the user. For instance, your Istio service mesh spanning across multiple clusters can be abstracted and managed by Meshery using custom components such as VirtualGateway and VirtualDestinationRules. In this case, Meshery’s Istio adapter will handle the logic of converting a VirtualGateway into gateways across the clusters. This abstraction provides high value by powering the service mesh to span across the clusters while the Ops team can configure the mesh with minimal effort. + +Just like the example above, many such Meshery extension points are in Meshery to add logic into and add useful functionality. And as more of such extension points are added, Meshery will continue to give more and more power to your cloud native infrastructure. + +Detroit welcomes the largest open-cloud and container-based developer events and workshops in the world. The event offers tutorials, keynotes, and networking opportunities across five days.
-As a longstanding CNCF member, Layer5 has donated two of its open source projects to the CNCF: Meshery and Service Mesh Performance. We're hosting project office hours where you can learn more about each of the projects, and meet the project maintainers.
@@ -48,7 +48,7 @@ Join us as we host project office hours. Don't be shy with your questions! Proje+
+
From fundamental Layer 3 connectivity to the newest in service mesh, the third session will cover the big picture of Cloud Native Networking in the CNCF and how to put it all in a context you can utilize.
-+
- Attendees are encouraged to join this unique DEI event, which will feature a resume writing class, mingling, networking, and refreshments. The event will take place on October 25 from 4:00 PM to 6:00 PM and is sponsored by Visit Detroit. Scholarship recipients and regional groups that support diversity, equality, and inclusion in technology have received special invitations. + Attendees are encouraged to join this unique DEI event, which will feature a resume writing className, mingling, networking, and refreshments. The event will take place on October 25 from 4:00 PM to 6:00 PM and is sponsored by Visit Detroit. Scholarship recipients and regional groups that support diversity, equality, and inclusion in technology have received special invitations.
-Be sure to join Layer5 at KubeCon NA 2022 and find us at other events, too. Learn more about each of our open source projects and try one (or all of them) today! +Be sure to join Layer5 at KubeCon NA 2022 and find us at other events, too. Learn more about each of our open source projects and try one (or all of them) today! diff --git a/src/collections/blog/2022/2022-12-05-structured-logging-with-klog/index.mdx b/src/collections/blog/2022/2022-12-05-structured-logging-with-klog/index.mdx index 1dd8c7a6dda7..b88e5786e6f0 100644 --- a/src/collections/blog/2022/2022-12-05-structured-logging-with-klog/index.mdx +++ b/src/collections/blog/2022/2022-12-05-structured-logging-with-klog/index.mdx @@ -1,80 +1,76 @@ ---- -title: Structured logging in Kubernetes with Klog -subtitle: Deprecating Klog flags in Kubernetes 1.26 -date: 2022-12-05 15:00:00 -0530 -author: Lee Calcote -thumbnail: ./kubernetes-logs.webp -darkthumbnail: ./kubernetes-logs-dark.webp -description: "Structured logging in Kubernetes 1.26 with Klog" -type: Blog -category: Kubernetes -tags: - - Kubernetes - - OpenTelemetry -featured: false -published: true ---- - -import { BlogWrapper } from "../../Blog.style.js"; -import { Link } from "gatsby"; -import Button from "../../../../reusecore/Button"; - - -As a platform for developers and system administrators to easily deploy and manage applications in a distributed environment, Kubernetes clusters generate logs and lots of them. One of the key components of Kubernetes is its logging and instrumentation capabilities. The upcoming Kubernetes 1.26 release has a handful of noteworthy changes to its system component logger, klog
.
Log a message and 10 fields:
- -| Package | Time | Time % to zap | Objects Allocated | -| :------------------ | :---------: | :-----------: | :---------------: | -| zap | 2900 ns/op | +0% | 5 allocs/op | -| zap (sugared) | 3475 ns/op | +20% | 10 allocs/op | -| zerolog | 10639 ns/op | +267% | 32 allocs/op | -| go-kit | 14434 ns/op | +398% | 59 allocs/op | -| logrus | 17104 ns/op | +490% | 81 allocs/op | -| apex/log | 32424 ns/op | +1018% | 66 allocs/op | -| log15 | 33579 ns/op | +1058% | 76 allocs/op | -As a platform for developers and system administrators to easily deploy and manage applications in a distributed environment, Kubernetes clusters generate logs and lots of them. One of the key components of Kubernetes is its logging and instrumentation capabilities. The upcoming Kubernetes 1.26 release has a handful of noteworthy changes to its system component logger, klog
.
Log a message and 10 fields:
+ +| Package | Time | Time % to zap | Objects Allocated | +| :------------------ | :---------: | :-----------: | :---------------: | +| zap | 2900 ns/op | +0% | 5 allocs/op | +| zap (sugared) | 3475 ns/op | +20% | 10 allocs/op | +| zerolog | 10639 ns/op | +267% | 32 allocs/op | +| go-kit | 14434 ns/op | +398% | 59 allocs/op | +| logrus | 17104 ns/op | +490% | 81 allocs/op | +| apex/log | 32424 ns/op | +1018% | 66 allocs/op | +| log15 | 33579 ns/op | +1058% | 76 allocs/op | + +-As the final Kubernetes release of 2022, Kubernetes 1.26 is an exciting new release of the popular container orchestration platform. It offers a number of new features and improvements that will help platform engineers and DevOps engineers manage their Kubernetes clusters more effectively. Here are some of the highlights of this release. -
-- As a longstanding CNCF member, Layer5 has donated two of its open source projects to the CNCF: Meshery and Service Mesh Performance. As an end-to-end, open-source, multi-cluster Kuberentes management platform, Meshery makes Day 2 Kubernetes cluster management a breeze. Run Meshery to explore the behavorial changes of this Kubernetes release and what they really mean to you. -
-+As the final Kubernetes release of 2022, Kubernetes 1.26 is an exciting new release of the popular container orchestration platform. It offers a number of new features and improvements that will help platform engineers and DevOps engineers manage their Kubernetes clusters more effectively. Here are some of the highlights of this release. +
++ As a longstanding CNCF member, Layer5 has donated two of its open source projects to the CNCF: Meshery and Service Mesh Performance. As an end-to-end, open-source, multi-cluster Kuberentes management platform, Meshery makes Day 2 Kubernetes cluster management a breeze. Run Meshery to explore the behavorial changes of this Kubernetes release and what they really mean to you. +
+If you haven't already, we invite you to come and see why Meshery is such a popular platform.
-- - https://play.meshery.io - -
-- Head over to the Cloud Native Playground and explore all of the amazing features that Meshery has to offer.
-If you haven't already, we invite you to come and see why Meshery is such a popular platform.
++ - https://play.meshery.io - +
++ Head over to the Cloud Native Playground and explore all of the amazing features that Meshery has to offer. +
+-One of the most remarkable things about the Layer5 community is how supportive it is of its members. Whether you are a newcomer or a seasoned veteran, you will find that people are always willing to lend a hand, offer advice, or just provide a friendly ear when you need it. -
- - - -This culture of support and collaboration has not gone unnoticed by the wider tech community. Layer5's Meshery project, for example, has been recognized as the #1 most popular Linux Foundation Internship (LFX internship). This is a testament to the quality of work that the community produces, but it's also a reflection of the supportive and inclusive environment that it provides for its members. - - - - - As a result of the many, supportive contributors, the Meshery project boasts some impressive statistics with over 1,000 project contributors. - -In short, the Layer5 open source community is a warm, welcoming, and award-winning community that is well worth getting involved in. Whether you're looking to expand your skills, work on exciting projects, or just connect with other like-minded individuals, you'll find a home in this community. So why not join us and see for yourself what makes the Layer5 community so special? - +--- +title: Building amazing open source tools one contributor at-a-time +subtitle: Layer5 reaches 4,000 community members! +date: 2023-05-05 08:00:00 -0530 +author: Lee Calcote +thumbnail: ./4000-layer5-members.webp +darkthumbnail: ./4000-layer5-members.webp +description: "Layer5 is an award-winning open community of supportive contributors" +type: Blog +category: Community +tags: + - Community + - Open Source +featured: true +published: true +--- + +import mesheryMostPopular from "./meshery-most-popular-lfx-internship.webp"; +import Playfield from "./layer5-community-playfield.webp"; + +{/*import powerOfMeshery from "../../../../assets/images/playground/gitops-explore-design.webp"; +import MesheryStats from "./meshery-contrib-stats.webp";*/} + ++One of the most remarkable things about the Layer5 community is how supportive it is of its members. Whether you are a newcomer or a seasoned veteran, you will find that people are always willing to lend a hand, offer advice, or just provide a friendly ear when you need it. +
+ + + +This culture of support and collaboration has not gone unnoticed by the wider tech community. Layer5's Meshery project, for example, has been recognized as the #1 most popular Linux Foundation Internship (LFX internship). This is a testament to the quality of work that the community produces, but it's also a reflection of the supportive and inclusive environment that it provides for its members. + + + + + As a result of the many, supportive contributors, the Meshery project boasts some impressive statistics with over 1,000 project contributors. + +In short, the Layer5 open source community is a warm, welcoming, and award-winning community that is well worth getting involved in. Whether you're looking to expand your skills, work on exciting projects, or just connect with other like-minded individuals, you'll find a home in this community. So why not join us and see for yourself what makes the Layer5 community so special? +- Meshery is constantly evolving and improving, with new features and bug fixes being added regularly. To stay up to date with the latest Meshery features and updates, you can switch between different release channels. -
-- Artifacts of the builds for Meshery and its components are published under two different release channels, so that improved controls may be provided to both Meshery users and Meshery developers. The two release channels are edge and stable release channels. Relative to stable releases, edge releases occur much more frequently. Edge releases are made with each merge to master, unless that merge to master is for a stable release. Stable releases are made with each - merge to master when a GitHub release tag is also present in the workflow. -
- -- Release Channels offers a subscription where user can subscribe to a specific release channel and get notified when a new release is available. This is useful for users who want to stay up to date with the latest Meshery features, while also also providing flexibility for users who want to stay on a specific version of Meshery. - However, this approach can be risky because some updates may introduce bugs or compatibility issues that could break your existing installation. Depending upon your risk aversion and the nature of your deployment environment, having a subscription means that you will automatically receive these updates that you might not be ready incorporate. On the other hand, release channels also offer the ability to pin to a specific release which is a good thing as it allows users to maintain stability and predictability of their environment by preventing unexpected changes from being introduced into their system. However, doing so cancels out any future subscription-based benefits such as receiving security patches or bug fixes that were added after that version was released. - -Therefore, it's important for you to weigh the pros and cons of each option before making decisions on how you want to manage your Meshery deployment. It's recommended you and your organizations have a well-defined upgrade strategy based on testing and validation procedures prior to applying new releases in production environments whether via subscriptions or manual upgrades to ensure that system availability is maintained and risks are minimized. - -
--To subscribe to a specific release channel or version using mesheryctl you can use -
mesheryctl system channel set [stable|stable-version|edge|edge-version]
-This command will update your local Meshery configuration to use the selected channel for future updates. To set the channel to a specific version, replace Version with the desired version number. Example: mesheryctl system channel set stable
or mesheryctl system channel set stable-v0.5.56
-
-There are two ways to switch between Meshery release channels: using mesheryctl or by editing your meshconfig file. In this blog post, we'll cover both methods.
- -
- Meshconfig is a configuration file that is used to configure Meshery. It is typically located in the ~/.meshery/config.yaml
directory. It contains information about the current release channel, the version of Meshery that is installed, and other configuration options that are specific to your Meshery installation.
- Meshconfig is automatically generated when you run Meshery for the first time. It is also automatically updated when you update Meshery
-
Open your terminal and confirm that you have mesheryctl installed by running mesheryctl version
. If you don't have mesheryctl installed, you can install it by following the instructions in the Meshery documentation.
mesheryctl system context create [context-name]
mesheryctl system context create new-context --components meshery-istio meshery-osm meshery-linkerd --platform docker --url http://localhost:9081 --set --yes
-mesheryctl system context view [context-name]
mesheryctl system context switch
mesheryctl is a command-line tool for managing Meshery. You can use it to switch between different release channels. Here's how:
- -mesheryctl system context view
-
-This will show you the currently channels ,stable or edge, along with the version number and other information.
-mesheryctl system channel switch
-This command will update your meshconfig file to switch release channel and version of context in focus. To switch the channel to a specific version, replace Version with the desired version number.
-mesheryctl system channel view
- Switching between Meshery release channels is a simple and straightforward process. You can do it using mesheryctl or by switching between your meshconfig file. Whether you want stable updates or bleeding-edge features, Meshery has a release channel that suits your needs. Just remember to carefully consider your use case and needs before making any changes to ensure that you have the best Meshery experience. -
- -+ Meshery is constantly evolving and improving, with new features and bug fixes being added regularly. To stay up to date with the latest Meshery features and updates, you can switch between different release channels. +
++ Artifacts of the builds for Meshery and its components are published under two different release channels, so that improved controls may be provided to both Meshery users and Meshery developers. The two release channels are edge and stable release channels. Relative to stable releases, edge releases occur much more frequently. Edge releases are made with each merge to master, unless that merge to master is for a stable release. Stable releases are made with each + merge to master when a GitHub release tag is also present in the workflow. +
+ ++ Release Channels offers a subscription where user can subscribe to a specific release channel and get notified when a new release is available. This is useful for users who want to stay up to date with the latest Meshery features, while also also providing flexibility for users who want to stay on a specific version of Meshery. + However, this approach can be risky because some updates may introduce bugs or compatibility issues that could break your existing installation. Depending upon your risk aversion and the nature of your deployment environment, having a subscription means that you will automatically receive these updates that you might not be ready incorporate. On the other hand, release channels also offer the ability to pin to a specific release which is a good thing as it allows users to maintain stability and predictability of their environment by preventing unexpected changes from being introduced into their system. However, doing so cancels out any future subscription-based benefits such as receiving security patches or bug fixes that were added after that version was released. + +Therefore, it's important for you to weigh the pros and cons of each option before making decisions on how you want to manage your Meshery deployment. It's recommended you and your organizations have a well-defined upgrade strategy based on testing and validation procedures prior to applying new releases in production environments whether via subscriptions or manual upgrades to ensure that system availability is maintained and risks are minimized. + +
++To subscribe to a specific release channel or version using mesheryctl you can use +
mesheryctl system channel set [stable|stable-version|edge|edge-version]
+This command will update your local Meshery configuration to use the selected channel for future updates. To set the channel to a specific version, replace Version with the desired version number. Example: mesheryctl system channel set stable
or mesheryctl system channel set stable-v0.5.56
+
+There are two ways to switch between Meshery release channels: using mesheryctl or by editing your meshconfig file. In this blog post, we'll cover both methods.
+ +
+ Meshconfig is a configuration file that is used to configure Meshery. It is typically located in the ~/.meshery/config.yaml
directory. It contains information about the current release channel, the version of Meshery that is installed, and other configuration options that are specific to your Meshery installation.
+ Meshconfig is automatically generated when you run Meshery for the first time. It is also automatically updated when you update Meshery
+
Open your terminal and confirm that you have mesheryctl installed by running mesheryctl version
. If you don't have mesheryctl installed, you can install it by following the instructions in the Meshery documentation.
mesheryctl system context create [context-name]
+mesheryctl system context create new-context --components meshery-istio meshery-osm meshery-linkerd --platform docker --url http://localhost:9081 --set --yes
+mesheryctl system context view [context-name]
mesheryctl system context switch
mesheryctl is a command-line tool for managing Meshery. You can use it to switch between different release channels. Here's how:
+ +
+mesheryctl system context view
+
+
+This will show you the currently channels ,stable or edge, along with the version number and other information.
+mesheryctl system channel switch
+This command will update your meshconfig file to switch release channel and version of context in focus. To switch the channel to a specific version, replace Version with the desired version number.
+mesheryctl system channel view
+ Switching between Meshery release channels is a simple and straightforward process. You can do it using mesheryctl or by switching between your meshconfig file. Whether you want stable updates or bleeding-edge features, Meshery has a release channel that suits your needs. Just remember to carefully consider your use case and needs before making any changes to ensure that you have the best Meshery experience. +
+ +Layer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible. -
- Yash, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the effects of your contributions, but may not know the backstory as to who Yash is and how you arrived at your MeshMate role. Indulge us. How did you discover the Layer5 community? What made you stay? -
-- "Hey Vivek, thanks for having me! One day, I was scrolling through Twitter and saw someone praising the Layer5 community. I was curious, so I checked it out and joined their Slack channel. As a newbie to open-source, I was unsure about many things, but Shivam ( an amazing contributor ), welcomed me and suggested I should attend the Meshery Dev meet to learn more." -
-- "I picked up some issues and started working on them but soon hit a wall. Then one day, Lee Calcote messaged me and said he had me on his intern's list, but noticed I wasn't around the community much. So I reached out to Abhishek and Gaurav for help on how to get more involved. They showed me how to contribute and help others, and then I started attending dev calls, helping others, and making new friends." -
--”After a while, I received a message from Lee and Gaurav saying that I would look good in the MeshMate logo I was surprised. It was one of the best things to happen to me, but also came with a responsibility to help others in the community and guide them on their journey. -
-You’re a MeshMate and have been for some long time now. What does being a MeshMate mean to you? What does it take to be a successful MeshMate?
- "Being a MeshMate is not just an honor, it is also a responsibility towards the community. MeshMates are individuals who are committed to help other members of the community. This includes ensuring that community members have access to resources, are introduced to other members, and understand the vision and goals of the projects.” -
-- "I have always loved learning in a community because with a community, we can grow together. Similarly, MeshMates always make sure that their mentees are successful along with the project. It's a great feeling to be a part of a community where everyone is working towards the same goal and supporting each other along the way." -
-- What’s the coolest Meshery demo you have done/seen? -
-- "I remember introducing Meshery and MeshMap in my college event. It was an incredibly successful event, and I take great pride in being a part of a community that supports such innovative projects. The response from the attendees was overwhelming, and I am grateful for the hard work and dedication of all the contributors who played a pivotal role in making this project a resounding success. Their collective efforts truly deserve admiration and appreciation." -
-- -
-- What is your favorite part of the Layer5 Community? Of being a MeshMate? -
-- "When I joined Layer5 community I got a welcome message with helping instructions so that I can contribute smoothly and I think this shows how much this community cares about their contributors which I like most about Layer5, everyone here is so welcoming and helping." -
-- "Being a MeshMate you get exposure in community which is really good for your growth but this is not best part of being a MeshMate, the best part is the feeling you get after helping someone and being little part of their success." -
-- With the number of people that join the Layer5 community everyday, how do you deal with the continued influx of newcomers? -
-- "Layer5 is big community over 4000+ members on slack and everyday so many people join Layer5 community and connecting with newcomers everyday is really not easy it takes time and your little strength too but as I said earliar, being a MeshMate also comes with responsibility which I enjoy most 😎." -
--
-- Impressively, you’re also a software engineering intern at Layer5. How did this come to be? What are some personal goals for the next year with respect to the Meshery and the Layer5 community? -
-- "Truelly I never joined Layer5 with mindset of internship after I joined Layer5 I saw here people learning new things as they are working on projects, making growth in their personality and improving engineering skills which is what I actually want. Layer5 offers internships all the time and these internships are offered to those who make impact in community and contribute consistently. After 2 months of making impact and contributing consistently I got mail with offer of internship." -
-- "Layer5 is growing everyday and many people started using Meshery, MeshMap and other projects for their businesses with this growth my personal goal is to work start helping projects in field of Devops and backend and also I like learning and sharing in public so I’ll also try to spread word of what we do here to appreciate everyone's effort." -
--Now, I’ve heard of Community Badges, but what are these? How many are there? More importantly, how do I collect the whole set?! 🙂 -
-- "Haha the way you are making impact in community soon you’ll get all Vivek, Badges are signs of contributors' efforts in their respective fields given by community. There are different badges for different efforts and I have this which represents MeshMate. I would really like to see you getting so many badges Vivek 😉." -
-- "Badges are not also easy to take, this requires your efforts and time towards community and its projects. As I said Layer5 community always wants its contributors' success because with their success it’s layer5's success and badges are one of the ways of recognising contributors' efforts." -
-- Your most often used emoji? Your preference: movie or book? Morning person or night owl? What have you worked on in the past six months that you’re particularly proud of? -
-- "😂 some of my favourite questions, I really like using this 🚀 emoji which represents the feeling of keep doing and keep pushing until it's done. I am mostly a night person, as I feel most productive during that time, although I don't recommend it." -
-- "I worked on different projects of Layer5 and I am proud for all of them though my favorite part is getting Meshery and MeshMap support default dark mode so that user will get smooth experience of using Meshery or MeshMap " -
-The cloud native ecosystem moves quickly. Keeping up with all the developments can be challenging. How do you stay up-to-date? -
- "Yes Cloud native ecosystem is so vast and constantly evolving. I think being part of cloud native community helps me stay up-to-date with its fast moving ecosystem and I’ll also suggest everyone to join community from any platform you like Slack, Twitter or your favorite platform " -
-- "As I said Cloud native is so vast so as it’s community too there are so many updated resources available out their on internet by community, which helps me to keep update with Cloud native ecosystem" -
-What advice do you have for individuals who are hopeful to become Layer5 contributors, interns, or potentially MeshMates? -
- "Try to come out of your comfort zone. If you are reading this conversation, you are already out of your comfort zone, which is a really good step. Who I am today is because I came out of my comfort zone, which I would also prefer. Lastly, be more helpful towards the community and, most importantly, be consistent. I wish you success." -
--
-The open source community at Layer5 is an award winning program and continues to evolve as it grows in number daily. Its projects and activities move at an impressive pace thanks to MeshMates like Yash. Be like Yash. Join the Layer5 Community and say “hi”. -
Layer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible.
+ Yash, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the effects of your contributions, but may not know the backstory as to who Yash is and how you arrived at your MeshMate role. Indulge us. How did you discover the Layer5 community? What made you stay? +
++ "Hey Vivek, thanks for having me! One day, I was scrolling through Twitter and saw someone praising the Layer5 community. I was curious, so I checked it out and joined their Slack channel. As a newbie to open-source, I was unsure about many things, but Shivam ( an amazing contributor ), welcomed me and suggested I should attend the Meshery Dev meet to learn more." +
++ "I picked up some issues and started working on them but soon hit a wall. Then one day, Lee Calcote messaged me and said he had me on his intern's list, but noticed I wasn't around the community much. So I reached out to Abhishek and Gaurav for help on how to get more involved. They showed me how to contribute and help others, and then I started attending dev calls, helping others, and making new friends." +
++”After a while, I received a message from Lee and Gaurav saying that I would look good in the MeshMate logo I was surprised. It was one of the best things to happen to me, but also came with a responsibility to help others in the community and guide them on their journey. +
+You’re a MeshMate and have been for some long time now. What does being a MeshMate mean to you? What does it take to be a successful MeshMate?
++ "Being a MeshMate is not just an honor, it is also a responsibility towards the community. MeshMates are individuals who are committed to help other members of the community. This includes ensuring that community members have access to resources, are introduced to other members, and understand the vision and goals of the projects.” +
++ "I have always loved learning in a community because with a community, we can grow together. Similarly, MeshMates always make sure that their mentees are successful along with the project. It's a great feeling to be a part of a community where everyone is working towards the same goal and supporting each other along the way." +
++ What’s the coolest Meshery demo you have done/seen? +
++ "I remember introducing Meshery and MeshMap in my college event. It was an incredibly successful event, and I take great pride in being a part of a community that supports such innovative projects. The response from the attendees was overwhelming, and I am grateful for the hard work and dedication of all the contributors who played a pivotal role in making this project a resounding success. Their collective efforts truly deserve admiration and appreciation." +
++ +
++ What is your favorite part of the Layer5 Community? Of being a MeshMate? +
++ "When I joined Layer5 community I got a welcome message with helping instructions so that I can contribute smoothly and I think this shows how much this community cares about their contributors which I like most about Layer5, everyone here is so welcoming and helping." +
++ "Being a MeshMate you get exposure in community which is really good for your growth but this is not best part of being a MeshMate, the best part is the feeling you get after helping someone and being little part of their success." +
++ With the number of people that join the Layer5 community everyday, how do you deal with the continued influx of newcomers? +
++ "Layer5 is big community over 4000+ members on slack and everyday so many people join Layer5 community and connecting with newcomers everyday is really not easy it takes time and your little strength too but as I said earliar, being a MeshMate also comes with responsibility which I enjoy most 😎." +
++
++ Impressively, you’re also a software engineering intern at Layer5. How did this come to be? What are some personal goals for the next year with respect to the Meshery and the Layer5 community? +
++ "Truelly I never joined Layer5 with mindset of internship after I joined Layer5 I saw here people learning new things as they are working on projects, making growth in their personality and improving engineering skills which is what I actually want. Layer5 offers internships all the time and these internships are offered to those who make impact in community and contribute consistently. After 2 months of making impact and contributing consistently I got mail with offer of internship." +
++ "Layer5 is growing everyday and many people started using Meshery, MeshMap and other projects for their businesses with this growth my personal goal is to work start helping projects in field of Devops and backend and also I like learning and sharing in public so I’ll also try to spread word of what we do here to appreciate everyone's effort." +
++Now, I’ve heard of Community Badges, but what are these? How many are there? More importantly, how do I collect the whole set?! 🙂 +
++ "Haha the way you are making impact in community soon you’ll get all Vivek, Badges are signs of contributors' efforts in their respective fields given by community. There are different badges for different efforts and I have this which represents MeshMate. I would really like to see you getting so many badges Vivek 😉." +
++ "Badges are not also easy to take, this requires your efforts and time towards community and its projects. As I said Layer5 community always wants its contributors' success because with their success it’s layer5's success and badges are one of the ways of recognising contributors' efforts." +
++ Your most often used emoji? Your preference: movie or book? Morning person or night owl? What have you worked on in the past six months that you’re particularly proud of? +
++ "😂 some of my favourite questions, I really like using this 🚀 emoji which represents the feeling of keep doing and keep pushing until it's done. I am mostly a night person, as I feel most productive during that time, although I don't recommend it." +
++ "I worked on different projects of Layer5 and I am proud for all of them though my favorite part is getting Meshery and MeshMap support default dark mode so that user will get smooth experience of using Meshery or MeshMap " +
+The cloud native ecosystem moves quickly. Keeping up with all the developments can be challenging. How do you stay up-to-date?
++ "Yes Cloud native ecosystem is so vast and constantly evolving. I think being part of cloud native community helps me stay up-to-date with its fast moving ecosystem and I’ll also suggest everyone to join community from any platform you like Slack, Twitter or your favorite platform " +
++ "As I said Cloud native is so vast so as it’s community too there are so many updated resources available out their on internet by community, which helps me to keep update with Cloud native ecosystem" +
+What advice do you have for individuals who are hopeful to become Layer5 contributors, interns, or potentially MeshMates?
++ "Try to come out of your comfort zone. If you are reading this conversation, you are already out of your comfort zone, which is a really good step. Who I am today is because I came out of my comfort zone, which I would also prefer. Lastly, be more helpful towards the community and, most importantly, be consistent. I wish you success." +
++
+The open source community at Layer5 is an award winning program and continues to evolve as it grows in number daily. Its projects and activities move at an impressive pace thanks to MeshMates like Yash. Be like Yash. Join the Layer5 Community and say “hi”.
-Hello👋, I'm Sudhanshu Dasgupta, a driven individual from the quaint city of Katni in Madhya Pradesh, India. -I have an unwavering passion for learning and exploring new horizons in the world of technology and very passionate for open-source. Currently, I am pursuing my -studies at ITM Gwalior, with a focus on building a successful career in Computer Science and Engineering. -
- --It all began at the start of the year when I made a resolute decision to dive into the world of open-source. Eager to contribute and make a difference, I actively participated in various communities, seeking opportunities to learn and grow. -Amidst my exploration for exciting projects to contribute to, I stumbled upon Layer5. The moment I delved into their endeavors, I was captivated by the diverse range of tech-stack-driven initiatives they were involved in. Without hesitation, I knew that this was the perfect place for me to start. - -Venturing forth, I attended my very first Newcomers meet, a gateway to understanding the vibrant community and its wide array of projects. It was an enriching experience, immersing myself in the ethos of collaboration and knowledge sharing that defined the community's spirit. -Taking a small yet significant step forward, I eagerly embraced a task assigned to me. -I understood that even the tiniest actions can pave the way for monumental achievements. But my journey didn't halt there; fueled by my unwavering commitment, continuous skill development, and active engagement with the community, I witnessed remarkable progress. -And then, within a mere two months, my dedication and contributions were acknowledged, leading to an incredible milestone—I was awarded an internship at Layer5. -
- -- My internship at Layer5 was an extraordinary experience that allowed me to delve deep into the world of open-source and sharpen my skills in a real-world setting. - Collaborating with talented professionals and working on cutting-edge projects enriched my understanding of various technologies and their practical applications. - - During my internship, I actively participated in team discussions, contributed to codebase enhancements, and gained hands-on experience with industry-standard tools and methodologies. - This internship not only expanded my technical expertise but also provided invaluable insights into the dynamics of a professional work environment and including I was able to improve my communication skills - as well. - Overall, my internship at Layer5 was a transformative journey filled with learning, growth, and unforgettable experiences. I look forward to leveraging the skills and knowledge gained during this internship to make a positive impact in the world of technology. - -
- I remeber myself when I joined the community that I was not aware of many things going in the community but I didn't got off from track, I did take 2 weeks - to solve a graphql issue but I completed it. Many things are there that you may not know during joining the community but you learn along the journey and - there is no fear in that. The thing is you can't set back and leave if you are unable to crack something. Learn and come back strong. - This is community , this is Layer5. -
- - -+Hello👋, I'm Sudhanshu Dasgupta, a driven individual from the quaint city of Katni in Madhya Pradesh, India. +I have an unwavering passion for learning and exploring new horizons in the world of technology and very passionate for open-source. Currently, I am pursuing my +studies at ITM Gwalior, with a focus on building a successful career in Computer Science and Engineering. +
+ ++It all began at the start of the year when I made a resolute decision to dive into the world of open-source. Eager to contribute and make a difference, I actively participated in various communities, seeking opportunities to learn and grow. +Amidst my exploration for exciting projects to contribute to, I stumbled upon Layer5. The moment I delved into their endeavors, I was captivated by the diverse range of tech-stack-driven initiatives they were involved in. Without hesitation, I knew that this was the perfect place for me to start. + +Venturing forth, I attended my very first Newcomers meet, a gateway to understanding the vibrant community and its wide array of projects. It was an enriching experience, immersing myself in the ethos of collaboration and knowledge sharing that defined the community's spirit. +Taking a small yet significant step forward, I eagerly embraced a task assigned to me. +I understood that even the tiniest actions can pave the way for monumental achievements. But my journey didn't halt there; fueled by my unwavering commitment, continuous skill development, and active engagement with the community, I witnessed remarkable progress. +And then, within a mere two months, my dedication and contributions were acknowledged, leading to an incredible milestone—I was awarded an internship at Layer5. +
+ ++ My internship at Layer5 was an extraordinary experience that allowed me to delve deep into the world of open-source and sharpen my skills in a real-world setting. + Collaborating with talented professionals and working on cutting-edge projects enriched my understanding of various technologies and their practical applications. + + During my internship, I actively participated in team discussions, contributed to codebase enhancements, and gained hands-on experience with industry-standard tools and methodologies. + This internship not only expanded my technical expertise but also provided invaluable insights into the dynamics of a professional work environment and including I was able to improve my communication skills + as well. + Overall, my internship at Layer5 was a transformative journey filled with learning, growth, and unforgettable experiences. I look forward to leveraging the skills and knowledge gained during this internship to make a positive impact in the world of technology. + +
+ I remeber myself when I joined the community that I was not aware of many things going in the community but I didn't got off from track, I did take 2 weeks + to solve a graphql issue but I completed it. Many things are there that you may not know during joining the community but you learn along the journey and + there is no fear in that. The thing is you can't set back and leave if you are unable to crack something. Learn and come back strong. + This is community , this is Layer5. +
+ + +Kubernetes provides robust RBAC (Role-Based Access Control) capabilities to manage access and authorization within a cluster. This allows you to control and restrict permissions for various resources. In this blog post, we will explore the process of binding a Kubernetes Service Account with a ClusterRole. We will also discuss how Meshery, a service mesh management tool, can be utilized to streamline the lifecycle management of Kubernetes clusters using MeshMap visual diagrams.
- -Before we delve into the details, ensure that you have the following prerequisites in place:
- -kubectl
, the Kubernetes command-line tool, installed and configured to communicate with your cluster.To bind a Service Account with a ClusterRole, follow the steps outlined below:
- -Step 1: Create a Service Account
-First, we need to create a Service Account that we will later bind to a ClusterRole. Use the following kubectl command to create a Service Account named my-service-account
:
sh kubectl create serviceaccount my-service-account
-Step 2: Create a ClusterRole
-Next, let's create a ClusterRole that defines the desired permissions. You can either create a new ClusterRole or use an existing one. For the purpose of this example, we will create a ClusterRole named my-cluster-role
that has read-only access to Pods and Services:
Save the above YAML definition to a file named clusterrole.yaml
, and create the ClusterRole using the following command:
bash kubectl apply -f clusterrole.yaml
-Step 3: Bind the Service Account with ClusterRole
-Finally, we need to bind the Service Account my-service-account
with the ClusterRole my-cluster-role
. This can be achieved by creating a ClusterRoleBinding. Execute the following command to create the binding:
bash kubectl create clusterrolebinding my-cluster-role-binding --clusterrole=my-cluster-role --serviceaccount=default:my-service-account
-The above command creates a ClusterRoleBinding named my-cluster-role-binding
that associates the Service Account my-service-account
with the ClusterRole my-cluster-role
.
Verification:
-To verify the successful binding, you can use the following command to check the ClusterRoleBinding:
- -bash kubectl describe clusterrolebinding my-cluster-role-binding
-You should see the Service Account and ClusterRole information listed under the Subjects
and RoleRef
sections, respectively.
Meshery is a powerful service mesh management tool that simplifies the management and operation of service meshes, including Kubernetes clusters. MeshMap, a visual diagram feature of Meshery, provides a graphical representation of the service mesh components and their interactions.
- -To utilize Meshery and MeshMap for Kubernetes cluster lifecycle management, follow these steps:
- -Step 1: Install Meshery
-Refer to the official Meshery documentation to install Meshery on your local machine or within your Kubernetes cluster.
- -Step 2: Connect to Your Kubernetes Cluster
-Once Meshery is installed, connect it to your Kubernetes cluster by configuring the necessary authentication and connection details.
- -Step 3: Access MeshMap
-After successfully connecting Meshery to your Kubernetes cluster, you can access MeshMap from the Meshery user interface. MeshMap visually represents the deployed service mesh, including service endpoints, traffic flows, and workload distribution.
-Step 4: Visualize the Kubernetes Cluster with MeshMap
-Once you have accessed Meshery and connected it to your Kubernetes cluster, follow these steps to visualize the cluster using MeshMap:
- -In this blog post, we have learned how to bind a Kubernetes Service Account with a ClusterRole to control access and authorization within a cluster. We have also explored how Meshery and its MeshMap feature can be used for visualizing the service mesh components and their interactions within a Kubernetes cluster. By following these steps, you can effectively manage and monitor your Kubernetes cluster's lifecycle using RBAC and visualization tools.
- +--- +title: "How To Bind Kubernetes Service Account with ClusterRole" +subtitle: A Comprehensive Guide +date: 2023-06-30 04:10:00 -0530 +author: Layer5 Team +thumbnail: ./blog-post.png +darkthumbnail: ./blog-post.png +type: Blog +category: "Meshery" +tags: + - Meshery + - Kubernetes +featured: true +published: true +--- + + + +Kubernetes provides robust RBAC (Role-Based Access Control) capabilities to manage access and authorization within a cluster. This allows you to control and restrict permissions for various resources. In this blog post, we will explore the process of binding a Kubernetes Service Account with a ClusterRole. We will also discuss how Meshery, a service mesh management tool, can be utilized to streamline the lifecycle management of Kubernetes clusters using MeshMap visual diagrams.
+ +Before we delve into the details, ensure that you have the following prerequisites in place:
+ +kubectl
, the Kubernetes command-line tool, installed and configured to communicate with your cluster.To bind a Service Account with a ClusterRole, follow the steps outlined below:
+ +Step 1: Create a Service Account
+First, we need to create a Service Account that we will later bind to a ClusterRole. Use the following kubectl command to create a Service Account named my-service-account
:
sh kubectl create serviceaccount my-service-account
+Step 2: Create a ClusterRole
+Next, let's create a ClusterRole that defines the desired permissions. You can either create a new ClusterRole or use an existing one. For the purpose of this example, we will create a ClusterRole named my-cluster-role
that has read-only access to Pods and Services:
Save the above YAML definition to a file named clusterrole.yaml
, and create the ClusterRole using the following command:
bash kubectl apply -f clusterrole.yaml
+Step 3: Bind the Service Account with ClusterRole
+Finally, we need to bind the Service Account my-service-account
with the ClusterRole my-cluster-role
. This can be achieved by creating a ClusterRoleBinding. Execute the following command to create the binding:
bash kubectl create clusterrolebinding my-cluster-role-binding --clusterrole=my-cluster-role --serviceaccount=default:my-service-account
+The above command creates a ClusterRoleBinding named my-cluster-role-binding
that associates the Service Account my-service-account
with the ClusterRole my-cluster-role
.
Verification:
+To verify the successful binding, you can use the following command to check the ClusterRoleBinding:
+ +bash kubectl describe clusterrolebinding my-cluster-role-binding
+You should see the Service Account and ClusterRole information listed under the Subjects
and RoleRef
sections, respectively.
Meshery is a powerful service mesh management tool that simplifies the management and operation of service meshes, including Kubernetes clusters. MeshMap, a visual diagram feature of Meshery, provides a graphical representation of the service mesh components and their interactions.
+ +To utilize Meshery and MeshMap for Kubernetes cluster lifecycle management, follow these steps:
+ +Step 1: Install Meshery
+Refer to the official Meshery documentation to install Meshery on your local machine or within your Kubernetes cluster.
+ +Step 2: Connect to Your Kubernetes Cluster
+Once Meshery is installed, connect it to your Kubernetes cluster by configuring the necessary authentication and connection details.
+ +Step 3: Access MeshMap
+After successfully connecting Meshery to your Kubernetes cluster, you can access MeshMap from the Meshery user interface. MeshMap visually represents the deployed service mesh, including service endpoints, traffic flows, and workload distribution.
+Step 4: Visualize the Kubernetes Cluster with MeshMap
+Once you have accessed Meshery and connected it to your Kubernetes cluster, follow these steps to visualize the cluster using MeshMap:
+ +In this blog post, we have learned how to bind a Kubernetes Service Account with a ClusterRole to control access and authorization within a cluster. We have also explored how Meshery and its MeshMap feature can be used for visualizing the service mesh components and their interactions within a Kubernetes cluster. By following these steps, you can effectively manage and monitor your Kubernetes cluster's lifecycle using RBAC and visualization tools.
+Project Badges are assigned by the admin to the user when a user contributes to a particular project. Achievement Badges are the badges that are assigned automatically when a user completes a task like sharing a design, creating a design for the first time, etc.
- - - -Earning Layer5 Badges is both exciting and achievable. As you continue to contribute to our projects, your accomplishments will be recognized with badges that reflect your dedication and expertise. Here are some ways you can earn Layer5 Badges: - -### How can I Share My Badge On My Profile - -To share your badges on other social profiles, utilize the provided embedded code and direct share functionality. Access your badges from the Layer5 Cloud profile badges section, and then use it to post your achievements on social media platforms seamlessly. This enables you to showcase your Layer5 contributions and milestones to a wider audience.
- -This badge is awarded upon creating your first design.
-This badge is awarded to the users who invite someone to Layer5 cloud.
-This badge is awarded upon first-time sharing one of your designs.
-This badge is awarded upon the success of your first design deployment.
-This badge is awarded upon successful execution of your first performance test.
-This badge is awarded the first time that you establish an interactive terminal session with a Kubernetes Pod.
-This badge is awarded the first time that you stream logs from a Kubernetes Pod.
-This badge is awarded the first time a collaborator saves changes to one of your designs.
-This badge is awarded to the community members who create or improve designs for visual aspects or user flow for any of the websites, flyers, promotions, Meshery UI, and so on in recognition and appreciation of their efforts.
-This badge is awarded to the community members who make consistent and impactful contributions to the MeshMap project in recognition and appreciation of their efforts. Community members who earn this badge occasionally become a project maintainer.
-This badge is awarded to the community members who make consistent and impactful contributions to the Service Mesh Performance project. Community members who earn this badge occasionally become a project maintainer.
-This badge is awarded to the community members who repeatedly engage in welcoming, encouraging, and supporting other Layer5 community members. Community members who earn this badge occasionally graduate to undertake the Community Manager role.
-awarded to the community members who make two or more published writings whether in an article, blog post, project documentation, or other form in recognition and appreciation of their efforts.
-This badge is awarded to the community members who make consistent and impactful contributions to the Meshery project. Community members who earn this badge occasionally become a project maintainer.
-This badge is awarded to the community members who make consistent and impactful contributions to the Service Mesh Patterns project in recognition and appreciation of their efforts.
-This badge is awarded to the community members who make consistent and impactful contributions to the layer5.io website.
-This badge is awarded to the community members who make consistent and impactful contributions to the NightHawk project in recognition and appreciation of their efforts. Community members who earn this badge occasionally become a project maintainer.
-This badge is awarded to the community members who make consistent and impactful contributions to the Meshery Catalog of Meshery project in recognition and appreciation of their efforts.
-This badge awarded is awarded to the community members who make consistent and impactful contributions to Meshery Operator of the Meshery project in recognition and appreciation of their efforts.
-This badge is awarded to the community members who make consistent and impactful contributions to the Docker Extension of meshery project in recognition and appreciation of their efforts.
-This badge is awarded to the community members who make consistent and impactful contributions to the Meshery Docs in recognition and appreciation of their efforts.
-This badge is awarded to individuals who have demonstrated a clear and holistic understanding of cloud-native infrastructure management.
-Additional certifications are coming soon!
-Project Badges are assigned by the admin to the user when a user contributes to a particular project. Achievement Badges are the badges that are assigned automatically when a user completes a task like sharing a design, creating a design for the first time, etc.
+ + + +Earning Layer5 Badges is both exciting and achievable. As you continue to contribute to our projects, your accomplishments will be recognized with badges that reflect your dedication and expertise. Here are some ways you can earn Layer5 Badges: + +### How can I Share My Badge On My Profile + +To share your badges on other social profiles, utilize the provided embedded code and direct share functionality. Access your badges from the Layer5 Cloud profile badges section, and then use it to post your achievements on social media platforms seamlessly. This enables you to showcase your Layer5 contributions and milestones to a wider audience.
+ +This badge is awarded upon creating your first design.
+This badge is awarded to the users who invite someone to Layer5 cloud.
+This badge is awarded upon first-time sharing one of your designs.
+This badge is awarded upon the success of your first design deployment.
+This badge is awarded upon successful execution of your first performance test.
+This badge is awarded the first time that you establish an interactive terminal session with a Kubernetes Pod.
+This badge is awarded the first time that you stream logs from a Kubernetes Pod.
+This badge is awarded the first time a collaborator saves changes to one of your designs.
+This badge is awarded to the community members who create or improve designs for visual aspects or user flow for any of the websites, flyers, promotions, Meshery UI, and so on in recognition and appreciation of their efforts.
+This badge is awarded to the community members who make consistent and impactful contributions to the MeshMap project in recognition and appreciation of their efforts. Community members who earn this badge occasionally become a project maintainer.
+This badge is awarded to the community members who make consistent and impactful contributions to the Service Mesh Performance project. Community members who earn this badge occasionally become a project maintainer.
+This badge is awarded to the community members who repeatedly engage in welcoming, encouraging, and supporting other Layer5 community members. Community members who earn this badge occasionally graduate to undertake the Community Manager role.
+awarded to the community members who make two or more published writings whether in an article, blog post, project documentation, or other form in recognition and appreciation of their efforts.
+This badge is awarded to the community members who make consistent and impactful contributions to the Meshery project. Community members who earn this badge occasionally become a project maintainer.
+This badge is awarded to the community members who make consistent and impactful contributions to the Service Mesh Patterns project in recognition and appreciation of their efforts.
+This badge is awarded to the community members who make consistent and impactful contributions to the layer5.io website.
+This badge is awarded to the community members who make consistent and impactful contributions to the NightHawk project in recognition and appreciation of their efforts. Community members who earn this badge occasionally become a project maintainer.
+This badge is awarded to the community members who make consistent and impactful contributions to the Meshery Catalog of Meshery project in recognition and appreciation of their efforts.
+This badge awarded is awarded to the community members who make consistent and impactful contributions to Meshery Operator of the Meshery project in recognition and appreciation of their efforts.
+This badge is awarded to the community members who make consistent and impactful contributions to the Docker Extension of meshery project in recognition and appreciation of their efforts.
+This badge is awarded to the community members who make consistent and impactful contributions to the Meshery Docs in recognition and appreciation of their efforts.
+This badge is awarded to individuals who have demonstrated a clear and holistic understanding of cloud-native infrastructure management.
+Additional certifications are coming soon!
+This is what a project will look like after you have starred it:
- - - -This is what a project will look like after you have starred it:
+ + + +-As the final Kubernetes release of 2023, Kubernetes 1.29 is a new release of the popular container orchestration platform. It offers a number of new features and improvements that will help platform engineers and DevOps engineers manage their Kubernetes clusters more effectively. Here are some of the highlights of this release. -
-- As a longstanding CNCF member, Layer5 has donated two of its open source projects to the CNCF: Meshery and Cloud Native Performance. As an end-to-end, open-source, multi-cluster Kubernetes management platform, Meshery makes Day 2 Kubernetes cluster management a breeze. Run Meshery to explore the behavorial changes of this Kubernetes release and what they really mean to you. -
-+As the final Kubernetes release of 2023, Kubernetes 1.29 is a new release of the popular container orchestration platform. It offers a number of new features and improvements that will help platform engineers and DevOps engineers manage their Kubernetes clusters more effectively. Here are some of the highlights of this release. +
++ As a longstanding CNCF member, Layer5 has donated two of its open source projects to the CNCF: Meshery and Cloud Native Performance. As an end-to-end, open-source, multi-cluster Kubernetes management platform, Meshery makes Day 2 Kubernetes cluster management a breeze. Run Meshery to explore the behavorial changes of this Kubernetes release and what they really mean to you. +
+In today's fast-paced and interconnected world, the success of many businesses depends heavily on technology platforms that enable them to deliver their products and services efficiently. Platform engineering plays a crucial role in the development, operation, and maintenance of these platforms, ensuring their stability, scalability, and security.
- --In this article, we will explore the fundamentals of platform engineering, providing a comprehensive overview of the key concepts, benefits, and challenges associated with this field. We will delve into the process of designing and building a platform, discussing the identification of requirements, architectural considerations, and the tools and technologies that facilitate platform development. Additionally, we will explore the critical aspects of operating and maintaining a platform, including managing infrastructure, monitoring performance, and ensuring security and compliance. -
The importance of platform engineering cannot be overstated. A well-designed platform provides a solid foundation for software development, allowing organizations to deliver high-quality applications that meet the needs of their users. By creating a standardized set of tools, processes, and best practices, platform engineering ensures consistency and reduces the time and effort required to develop, deploy, and maintain software systems.
- -### Key Concepts in Platform Engineering - -To understand platform engineering better, it is essential to familiarize ourselves with some key concepts. These concepts include: - -1. Modularity: Platforms are designed to be modular, with components that can be easily added, removed, or replaced. This modularity enables flexibility and adaptability, allowing for the rapid development and integration of new features and functionalities. - -2. Scalability: A well-designed platform can handle increased workloads and user demands without sacrificing performance. Scalability involves the ability to add resources, such as servers or processing power, to meet growing demands and ensure optimal system performance. - -3. Extensibility: Platforms should be designed to accommodate future growth and evolution. They should provide the necessary flexibility to integrate new technologies, frameworks, and tools as they emerge, allowing developers to stay ahead of the curve and leverage the latest advancements. Learn about Meshery's extensibility. - -### Benefits and Challenges of Platform Engineering - -Platform engineering offers numerous benefits to organizations, including: - -1. Increased development speed: By providing reusable components and standardized processes, platforms enable developers to build applications more quickly, reducing time-to-market and increasing productivity. - -2. Improved collaboration: Platforms foster collaboration by providing a shared framework and tools that allow developers to work together seamlessly. This collaborative environment promotes knowledge sharing, reduces duplication of effort, and facilitates efficient problem-solving. - -3. Cost savings: Building on a solid platform foundation reduces development costs by eliminating the need to reinvent the wheel for each application. Additionally, platforms enable organizations to leverage economies of scale by sharing resources and infrastructure across multiple applications. - -However, platform engineering also presents its own set of challenges, including: - -1. Complexity: Building and maintaining a platform can be complex due to the interdependencies between various components and the need for integration with other systems. It requires a deep understanding of the underlying technologies and the ability to manage and mitigate potential risks and issues. - -2. Continuous evolution: Platforms need to evolve continuously to keep up with changing technologies and user needs. This requires a proactive approach to stay updated with emerging trends, evaluate new tools and frameworks, and invest in ongoing maintenance and upgrades. - -In the next section, we will delve into the process of designing and building a platform, exploring the key considerations, requirements, and tools involved in the platform engineering journey. - -<> -In today's fast-paced and interconnected world, the success of many businesses depends heavily on technology platforms that enable them to deliver their products and services efficiently. Platform engineering plays a crucial role in the development, operation, and maintenance of these platforms, ensuring their stability, scalability, and security.
+ ++In this article, we will explore the fundamentals of platform engineering, providing a comprehensive overview of the key concepts, benefits, and challenges associated with this field. We will delve into the process of designing and building a platform, discussing the identification of requirements, architectural considerations, and the tools and technologies that facilitate platform development. Additionally, we will explore the critical aspects of operating and maintaining a platform, including managing infrastructure, monitoring performance, and ensuring security and compliance. +
The importance of platform engineering cannot be overstated. A well-designed platform provides a solid foundation for software development, allowing organizations to deliver high-quality applications that meet the needs of their users. By creating a standardized set of tools, processes, and best practices, platform engineering ensures consistency and reduces the time and effort required to develop, deploy, and maintain software systems.
+ +### Key Concepts in Platform Engineering + +To understand platform engineering better, it is essential to familiarize ourselves with some key concepts. These concepts include: + +1. Modularity: Platforms are designed to be modular, with components that can be easily added, removed, or replaced. This modularity enables flexibility and adaptability, allowing for the rapid development and integration of new features and functionalities. + +2. Scalability: A well-designed platform can handle increased workloads and user demands without sacrificing performance. Scalability involves the ability to add resources, such as servers or processing power, to meet growing demands and ensure optimal system performance. + +3. Extensibility: Platforms should be designed to accommodate future growth and evolution. They should provide the necessary flexibility to integrate new technologies, frameworks, and tools as they emerge, allowing developers to stay ahead of the curve and leverage the latest advancements. Learn about Meshery's extensibility. + +### Benefits and Challenges of Platform Engineering + +Platform engineering offers numerous benefits to organizations, including: + +1. Increased development speed: By providing reusable components and standardized processes, platforms enable developers to build applications more quickly, reducing time-to-market and increasing productivity. + +2. Improved collaboration: Platforms foster collaboration by providing a shared framework and tools that allow developers to work together seamlessly. This collaborative environment promotes knowledge sharing, reduces duplication of effort, and facilitates efficient problem-solving. + +3. Cost savings: Building on a solid platform foundation reduces development costs by eliminating the need to reinvent the wheel for each application. Additionally, platforms enable organizations to leverage economies of scale by sharing resources and infrastructure across multiple applications. + +However, platform engineering also presents its own set of challenges, including: + +1. Complexity: Building and maintaining a platform can be complex due to the interdependencies between various components and the need for integration with other systems. It requires a deep understanding of the underlying technologies and the ability to manage and mitigate potential risks and issues. + +2. Continuous evolution: Platforms need to evolve continuously to keep up with changing technologies and user needs. This requires a proactive approach to stay updated with emerging trends, evaluate new tools and frameworks, and invest in ongoing maintenance and upgrades. + +In the next section, we will delve into the process of designing and building a platform, exploring the key considerations, requirements, and tools involved in the platform engineering journey. + +<> +Containers provide a lightweight and portable solution to package applications, making them easy to deploy across different environments. With Docker as the most popular container engine and image format, but not the only runtime or format, the need for a standardized format to store and distribute container images became apparent and is why the Open Container Initiative (OCI) image format comes into play.
- -The OCI was established as a community-driven initiative to create open standards for container formats and runtimes. Its goal is to promote interoperability and ensure that containers can be used across different platforms and runtime environments. One of the key components of the OCI initiative is the OCI image format, which has been widely adopted by container registries. - --Why have container registries have embraced the OCI format? How does Meshery, a popular internal developer platform, leverage this format for pushing and pulling design patterns? By understanding the benefits of OCI format for container registries and Meshery's support for it, we can gain valuable insights into the advantages of using this standardized format. -
Containers provide a lightweight and portable solution to package applications, making them easy to deploy across different environments. With Docker as the most popular container engine and image format, but not the only runtime or format, the need for a standardized format to store and distribute container images became apparent and is why the Open Container Initiative (OCI) image format comes into play.
+ +The OCI was established as a community-driven initiative to create open standards for container formats and runtimes. Its goal is to promote interoperability and ensure that containers can be used across different platforms and runtime environments. One of the key components of the OCI initiative is the OCI image format, which has been widely adopted by container registries. + ++Why have container registries have embraced the OCI format? How does Meshery, a popular internal developer platform, leverage this format for pushing and pulling design patterns? By understanding the benefits of OCI format for container registries and Meshery's support for it, we can gain valuable insights into the advantages of using this standardized format. +
-Picture this: You're honing your tech skills in silos (⌒_⌒;) and building projects for your GitHub and resume to impress the ever-inquisitive technical hiring manager who seeks the unique aspects in projects provided by potential candidates. Along your learning journey, you've encountered mentions of open source here and there, but never delved deeply into its realm. Additionally, you find yourself uncertain about where to begin. Does this sound familiar? Not long ago, I found myself in precisely this situation. - -However, with the right community and a sprinkle of courage (and chipping away at my own imposter syndrome), I found my footing and embarked on an exhilarating journey of growth and contribution. - -In this blog post, I'll not only share my personal experiences and insights but also provide guidance based on my initial experience for those eager to dip their toes into the vast world of open-source contributions. So, grab a cup of your favourite beverage (latte macchiato☕ or bubble tea 🧋 for me), settle in, and let's embark on an adventure filled with learning, growth, and community. -
- -### Getting Started: Choosing a project to contribute toes - -- Are you feeling overwhelmed (⋟﹏⋞) by the multitude of open-source projects available? Don't fret; here are some tips to guide you in finding a project that aligns with your interests for your contributions (⌒‿⌒) : -
-Another valuable approach involved searching LinkedIn for profiles of individuals possessing similar skills or expertise to mine. By examining the projects they were involved in and conducting further research. This method provided insights into relevant projects and served as a catalyst in discovering the Meshery project, which I will delve into further later on.
- - - -### What skills do I need to get started? - -The short answer? Whatever you bring to the table! Open source thrives on diversity, and contributions come in a variety of ways based on the contributors skill sets and their level. If you're eager to learn and collaborate, you're already halfway there. Start by exploring the repository, familiarise yourself with the tools used to build it, and don't hesitate to ask for guidance along the way.
- - - -For example, Layer5 is host to a vast variety of projects built and designed using different technologies and skill sets from people located all over the world (yay version control ┌(˘⌣˘)ʃ ), keep in mind that contribution goes beyond code. Whether you're a UX/UI designer, a technical writer, an SEO specialist, or a passionate blogger, there's a place for you in the community. Explore the repositories, find where your skills align, and dive in.
- -### My Open Source Journey: From Curiosity to Contribution - -- Let me rewind to the genesis of it all — during a Women Who Code Berlin webinar in April 2023, where a fellow attendee posed a question that the invited speaker graciously answered in detail during the Q&A session. As the speaker delved into the advantages of contributing to open-source projects, she highlighted the EddieHub Open Source community as an inclusive and welcoming environment. And Eddie, the founder, standing out as one of the most enthusiastic and supportive open-source leaders (a big shout out to Ellie King! ), igniting my interest. -
- -Intrigued, I delved into the community (even before the webinar ended), joined their Discord, and found the BioDrop (formerly LinkFree) project, a shining example of a community-driven project, characterized by its meticulous organization and comprehensive documentation. I was pleasantly surprised by Eddie's active involvement and encouragement to get started no matter the level of contribution (yes I read the conversation history -- "reading the room").
-As my understanding of the open-source community deepened and my proficiency in Python programming and understanding of DevOps grew, I felt compelled to explore opportunities where my newly acquired skills could be put to meaningful use and provide avenues for continuous improvement. This pursuit ultimately led me to encounter Meshery, nestled within the CNCF ecosystem.
-With Meshery, I didn't just find another open source project; I found a community, a platform for learning and growth, and the perfect avenue for channelling my newfound skills and passions into meaningful contributions. And so, my journey with Meshery under the Layer5 organization began, marking the dawn of an exciting chapter in my open-source journey.
- -### How to Get Started with Meshery - Making your first contributions: -Before we dive deeper, allow me to introduce Meshery. It serves as an open-source, cloud-native management platform, providing multi-cluster Kubernetes management functionalities. Notably, Meshery has been acknowledged as the 10th fastest-growing project out of over 200+ Cloud Native Computing Foundation (CNCF) projects. It seamlessly integrates with all CNCF projects, alongside existing tools and Kubernetes clusters, enabling users to optimize their preferred monitoring, CI/CD, and security solutions with ease.
-Now that you've been introduced to Meshery, you might be wondering how you can get involved. Here are some steps to kickstart your journey with Meshery:
-The steps described above were simply how I approached my first few weeks in the community. Initially, I spent the first few days quietly observing conversations in Slack, akin to "reading the room," to understand the community's communication style, how to start engaging in the conversations and determine if it was a place where I could engage and thrive (if you haven't guessed by now - it is and beyond).
- --💡In Layer5, I discovered more than just a collection of projects; it's a supportive network of like-minded individuals with a shared mission to innovate and empower. The Layer5 community fosters an environment where contribution isn't merely encouraged; it's celebrated. If you find the Meshery project interesting, consider starring 🌟 the repository to show your support! -
My journey into open source has been nothing short of transformative. From honing technical skills to cultivating soft skills like communication and collaboration, every contribution has been a stepping stone toward personal and professional growth. But the real challenge? It was transitioning from solitary learning and development to learning/building in public. Being part of welcoming and supportive open-source communities has been instrumental in overcoming that hurdle and taking those crucial first steps into learning and building in public and ultimately contributing to my growth as an engineer/developer.
-In a healthy open-source community, you're not just a contributor; you're part of something bigger. You collaborate with like-minded individuals, tackle real-world problems, and make a tangible impact on projects that transcend individual efforts. We get to forge new meaningful connections and share knowledge. So, whether you're just starting out or looking to expand your horizons, remember this: the journey is yours to chart, so just get started. “jiāyóu” 加油 !!
-Thank you for reading. Happy contributing!
-Useful links:
- - - -+Picture this: You're honing your tech skills in silos (⌒_⌒;) and building projects for your GitHub and resume to impress the ever-inquisitive technical hiring manager who seeks the unique aspects in projects provided by potential candidates. Along your learning journey, you've encountered mentions of open source here and there, but never delved deeply into its realm. Additionally, you find yourself uncertain about where to begin. Does this sound familiar? Not long ago, I found myself in precisely this situation. + +However, with the right community and a sprinkle of courage (and chipping away at my own imposter syndrome), I found my footing and embarked on an exhilarating journey of growth and contribution. + +In this blog post, I'll not only share my personal experiences and insights but also provide guidance based on my initial experience for those eager to dip their toes into the vast world of open-source contributions. So, grab a cup of your favourite beverage (latte macchiato☕ or bubble tea 🧋 for me), settle in, and let's embark on an adventure filled with learning, growth, and community. +
+ +### Getting Started: Choosing a project to contribute toes + ++ Are you feeling overwhelmed (⋟﹏⋞) by the multitude of open-source projects available? Don't fret; here are some tips to guide you in finding a project that aligns with your interests for your contributions (⌒‿⌒) : +
+Another valuable approach involved searching LinkedIn for profiles of individuals possessing similar skills or expertise to mine. By examining the projects they were involved in and conducting further research. This method provided insights into relevant projects and served as a catalyst in discovering the Meshery project, which I will delve into further later on.
+ + + +### What skills do I need to get started? + +The short answer? Whatever you bring to the table! Open source thrives on diversity, and contributions come in a variety of ways based on the contributors skill sets and their level. If you're eager to learn and collaborate, you're already halfway there. Start by exploring the repository, familiarise yourself with the tools used to build it, and don't hesitate to ask for guidance along the way.
+ + + +For example, Layer5 is host to a vast variety of projects built and designed using different technologies and skill sets from people located all over the world (yay version control ┌(˘⌣˘)ʃ ), keep in mind that contribution goes beyond code. Whether you're a UX/UI designer, a technical writer, an SEO specialist, or a passionate blogger, there's a place for you in the community. Explore the repositories, find where your skills align, and dive in.
+ +### My Open Source Journey: From Curiosity to Contribution + ++ Let me rewind to the genesis of it all — during a Women Who Code Berlin webinar in April 2023, where a fellow attendee posed a question that the invited speaker graciously answered in detail during the Q&A session. As the speaker delved into the advantages of contributing to open-source projects, she highlighted the EddieHub Open Source community as an inclusive and welcoming environment. And Eddie, the founder, standing out as one of the most enthusiastic and supportive open-source leaders (a big shout out to Ellie King!), igniting my interest. +
+ +Intrigued, I delved into the community (even before the webinar ended), joined their Discord, and found the BioDrop (formerly LinkFree) project, a shining example of a community-driven project, characterized by its meticulous organization and comprehensive documentation. I was pleasantly surprised by Eddie's active involvement and encouragement to get started no matter the level of contribution (yes I read the conversation history -- "reading the room").
+As my understanding of the open-source community deepened and my proficiency in Python programming and understanding of DevOps grew, I felt compelled to explore opportunities where my newly acquired skills could be put to meaningful use and provide avenues for continuous improvement. This pursuit ultimately led me to encounter Meshery, nestled within the CNCF ecosystem.
+With Meshery, I didn't just find another open source project; I found a community, a platform for learning and growth, and the perfect avenue for channelling my newfound skills and passions into meaningful contributions. And so, my journey with Meshery under the Layer5 organization began, marking the dawn of an exciting chapter in my open-source journey.
+ +### How to Get Started with Meshery - Making your first contributions: +Before we dive deeper, allow me to introduce Meshery. It serves as an open-source, cloud-native management platform, providing multi-cluster Kubernetes management functionalities. Notably, Meshery has been acknowledged as the 10th fastest-growing project out of over 200+ Cloud Native Computing Foundation (CNCF) projects. It seamlessly integrates with all CNCF projects , alongside existing tools and Kubernetes clusters, enabling users to optimize their preferred monitoring, CI/CD, and security solutions with ease.
+Now that you've been introduced to Meshery, you might be wondering how you can get involved. Here are some steps to kickstart your journey with Meshery:
+The steps described above were simply how I approached my first few weeks in the community. Initially, I spent the first few days quietly observing conversations in Slack, akin to "reading the room," to understand the community's communication style, how to start engaging in the conversations and determine if it was a place where I could engage and thrive (if you haven't guessed by now - it is and beyond).
+ ++💡In Layer5, I discovered more than just a collection of projects; it's a supportive network of like-minded individuals with a shared mission to innovate and empower. The Layer5 community fosters an environment where contribution isn't merely encouraged; it's celebrated. If you find the Meshery project interesting, consider starring 🌟 the repository to show your support! +
My journey into open source has been nothing short of transformative. From honing technical skills to cultivating soft skills like communication and collaboration, every contribution has been a stepping stone toward personal and professional growth. But the real challenge? It was transitioning from solitary learning and development to learning/building in public. Being part of welcoming and supportive open-source communities has been instrumental in overcoming that hurdle and taking those crucial first steps into learning and building in public and ultimately contributing to my growth as an engineer/developer.
+In a healthy open-source community, you're not just a contributor; you're part of something bigger. You collaborate with like-minded individuals, tackle real-world problems, and make a tangible impact on projects that transcend individual efforts. We get to forge new meaningful connections and share knowledge. So, whether you're just starting out or looking to expand your horizons, remember this: the journey is yours to chart, so just get started. “jiāyóu” 加油 !!
+Thank you for reading. Happy contributing!
+Useful links:
+ + + ++
In Meshery, two key concepts play a pivotal role in managing infrastructure and deployments: Meshery Models and Meshery Designs. Understanding their difference and their similarities will greatly increase your benefit from these two powerful, systems management paradigms.
Meshery Models are standardized packages that bundle components and characterize their relationships. Components are often representative of infrastructure, but can, in fact, represent anything (see semantically meaningful vs non-semantically meaingful components). Models uniformly wrap each component with a layer of metadata therein standardizing all entities (infrasturcture or otherwise) under a common interface much in the same way that the Industrial Revolution offered consistency of parts and interchangability of machinery, Meshery Components become fundamental building blocks. Components are like standard Lego bricks, window pieces, wheels that all snap together - or don't - depending upon way in which they relate to one another.
+Meshery Models are standardized packages that bundle components and characterize their relationships. Components are often representative of infrastructure, but can, in fact, represent anything (see semantically meaningful vs non-semantically meaingful components). Models uniformly wrap each component with a layer of metadata therein standardizing all entities (infrasturcture or otherwise) under a common interface much in the same way that the Industrial Revolution offered consistency of parts and interchangability of machinery, Meshery Components become fundamental building blocks. Components are like standard Lego bricks, window pieces, wheels that all snap together - or don't - depending upon way in which they relate to one another.
As versioned and portable pacakges, Models provide a structured, reusable, and extensible way to represent infrastructure components and their relationships, going beyond just code. This enables a more flexible and adaptable approach to modeling complex systems. are powerful Relationships and policies. contain Components cannot be directly used to build something complete on their own, but are standardized and reused across different Lego sets (instructions).
Meshery Designs provide a collaborative blueprint for building a specific model using Lego bricks (Meshery Models). Designs define the structure and placement of the bricks to achieve the desired outcome. Desan be shared, versioned, and used as reference for building the same model.
-In essence: +In essence:Meshery Designs are like the Lego instructions - they use Models (like bricks) to lay out the specific infrastructure deployment plan.
Analogy: Think of Models as Lego bricks (defining types of pieces) and Designs as Lego instructions (defining how to build something specific).
In summary, Meshery Models serve as the theoretical frameworks, while Meshery Designs translate these frameworks into tangible deployments, enabling you to design, deploy, and manage your infrastructure efficiently within the cloud and cloud native ecosystem. diff --git a/src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx b/src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx index b8ed4463d6d7..ee3ad29711f9 100644 --- a/src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx +++ b/src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx @@ -1,100 +1,100 @@ ---- -title: Simplify Multi-container Application Management with the Docker Meshery Extension -subtitle: Multi-Cluster Kubernetes Deployments of Docker Compose Apps -date: 2024-04-25 -author: Layer5 Team -thumbnail: ../../../../assets/images/dockercompose-logo/dockercompose-logo.webp -darkthumbnail: ../../../../assets/images/dockercompose-logo/dockercompose-logo.webp -description: "Simplify Multi-container Application Management with the Docker Meshery Extension" -type: Blog -category: Docker -tags: - - Meshery - - Docker -featured: false -published: true ---- - -import { BlogWrapper } from "../../Blog.style.js"; -import { Link } from "gatsby"; -import Button from "../../../../reusecore/Button"; -import DockerLogo from "../../../../assets/images/partners/docker.svg"; -import dockercompose_logo from "../../../../assets/images/dockercompose-logo/dockercompose-logo.webp"; - --Experience the power and ease of the Docker Meshery Extension. Download the extension from Docker Hub and start streamlining your multi-container application development and management today. -
Streamline your Docker Compose workflow and gain powerful visualization and lifecycle management for your multi-container applications with the Docker Meshery Extension. This extension seamlessly integrates Meshery, a service management platform, with Docker, allowing you to effortlessly import, deploy, visualize, and manage your Docker Compose applications.
- - - -Get started quickly by importing your existing Docker Compose applications directly into Meshery. The extension streamlines the process, eliminating the need for manual configuration. Simply navigate to Meshery and leverage the intuitive UI to import your Compose file. Meshery intelligently parses the file, recognizing your application's components and dependencies.
- -Import your existing designs and existing infrastructure configurations into Meshery. The platform supports a variety of application definition formats, and you can import designs using either the Meshery CLI or the Meshery UI.
- -**Supported Design Definition Formats** - -Meshery supports the following design definition formats: - -- [Kubernetes Manifests](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/) -- [Helm Charts](https://helm.sh/docs/topics/charts/) -- --> **[Docker Compose](https://docs.docker.com/compose/)** -- [Meshery Designs](https://docs.meshery.io/concepts/logical/designs) - -#### Import Docker Compose Apps Using Meshery CLI - -Step 1: Install Meshery CLI - --Before you can use the Meshery CLI to import a Docker Compose app, you must first install it. You can install Meshery CLI by following the instructions. -
- -Step 2: Import the Design Manifest - -Once you have created your Design Definition file, you can use the Meshery CLI to import your Docker Compose app into Meshery. To do this, run the following command: - -```shell -mesheryctl pattern import -f [file/url] -s [source-type] -``` - -This command enable users to import their existing designs from sources as - -- Helm Charts -- Kubernetes Manifests -- Docker Compose - -**Example :** - -```shell -mesheryctl pattern import -f docker-compose.yaml -s "Docker Compose" -``` - -With your application imported, take advantage of Meshery's robust deployment capabilities. Deploy your multi-container application to a Kubernetes cluster with a single click. Meshery handles the intricacies of the deployment process, ensuring your application runs smoothly within your Kubernetes environment.
- -### Visualize Your Application with MeshMap - -Gain valuable insights into your application's health and performance with MeshMap, Meshery's interactive service graph. MeshMap provides a clear visual representation of your application's architecture, allowing you to easily identify dependencies and potential bottlenecks. - -### Interactive Management with MeshMap - -[MeshMap](/cloud-native-management/meshmap) empowers you to manage your application directly within the visualized service graph. The web-based interactive terminal integrated with MeshMap grants you the ability to execute commands on individual containers or services within your application. This eliminates the need to switch between different tools or terminals, streamlining troubleshooting and management tasks. - -## Seamless Integration with Docker: A Powerful Partnership - - - -The Docker Meshery Extension fosters a powerful collaboration between Layer5 and Docker. Leveraging the familiarity and widespread adoption of Docker Compose, the extension empowers you to harness the advanced management and visualization capabilities of Meshery. This translates to a more efficient and streamlined workflow for managing your multi-container applications.
- -Get Started Today - -Experience the power and ease of the Docker Meshery Extension. Download the extension from Docker Hub and start streamlining your multi-container application development and management today.
- -+Experience the power and ease of the Docker Meshery Extension. Download the extension from Docker Hub and start streamlining your multi-container application development and management today. +
Streamline your Docker Compose workflow and gain powerful visualization and lifecycle management for your multi-container applications with the Docker Meshery Extension. This extension seamlessly integrates Meshery, a service management platform, with Docker, allowing you to effortlessly import, deploy, visualize, and manage your Docker Compose applications.
+ + + +Get started quickly by importing your existing Docker Compose applications directly into Meshery. The extension streamlines the process, eliminating the need for manual configuration. Simply navigate to Meshery and leverage the intuitive UI to import your Compose file. Meshery intelligently parses the file, recognizing your application's components and dependencies.
+ +Import your existing designs and existing infrastructure configurations into Meshery. The platform supports a variety of application definition formats, and you can import designs using either the Meshery CLI or the Meshery UI.
+ +**Supported Design Definition Formats** + +Meshery supports the following design definition formats: + +- [Kubernetes Manifests](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/) +- [Helm Charts](https://helm.sh/docs/topics/charts/) +- --> **[Docker Compose](https://docs.docker.com/compose/)** +- [Meshery Designs](https://docs.meshery.io/concepts/logical/designs) + +#### Import Docker Compose Apps Using Meshery CLI + +Step 1: Install Meshery CLI + ++Before you can use the Meshery CLI to import a Docker Compose app, you must first install it. You can install Meshery CLI by following the instructions. +
+ +Step 2: Import the Design Manifest + +Once you have created your Design Definition file, you can use the Meshery CLI to import your Docker Compose app into Meshery. To do this, run the following command: + +```shell +mesheryctl pattern import -f [file/url] -s [source-type] +``` + +This command enable users to import their existing designs from sources as + +- Helm Charts +- Kubernetes Manifests +- Docker Compose + +**Example :** + +```shell +mesheryctl pattern import -f docker-compose.yaml -s "Docker Compose" +``` + +With your application imported, take advantage of Meshery's robust deployment capabilities. Deploy your multi-container application to a Kubernetes cluster with a single click. Meshery handles the intricacies of the deployment process, ensuring your application runs smoothly within your Kubernetes environment.
+ +### Visualize Your Application with MeshMap + +Gain valuable insights into your application's health and performance with MeshMap, Meshery's interactive service graph. MeshMap provides a clear visual representation of your application's architecture, allowing you to easily identify dependencies and potential bottlenecks. + +### Interactive Management with MeshMap + +[MeshMap](/cloud-native-management/meshmap) empowers you to manage your application directly within the visualized service graph. The web-based interactive terminal integrated with MeshMap grants you the ability to execute commands on individual containers or services within your application. This eliminates the need to switch between different tools or terminals, streamlining troubleshooting and management tasks. + +## Seamless Integration with Docker: A Powerful Partnership + + + +The Docker Meshery Extension fosters a powerful collaboration between Layer5 and Docker. Leveraging the familiarity and widespread adoption of Docker Compose, the extension empowers you to harness the advanced management and visualization capabilities of Meshery. This translates to a more efficient and streamlined workflow for managing your multi-container applications.
+ +Get Started Today + +Experience the power and ease of the Docker Meshery Extension. Download the extension from Docker Hub and start streamlining your multi-container application development and management today.
+ +- Achieving key milestones in open source reflects the combined efforts of passionate individuals and forward-thinking development. Today, we are thrilled to announce that Meshery, a leading project under the Layer5 umbrella, has reached a significant milestone: 5,000 stars 🌟 on GitHub! This achievement is more than just a number; it represents the collective efforts of our vibrant community, the dedication of our contributors, and the transformative journey that Meshery has embarked upon. -
- -- Let's take a moment to reflect on this journey, celebrate the people behind it, and look forward to the exciting future ahead. -
- -## The Genesis of Meshery - -- Meshery was born out of a simple yet ambitious idea: to create an open source, cloud native management platform that simplifies and enhances the experience of managing Kubernetes environments. The vision was to build a tool that integrates seamlessly with all CNCF projects, providing users with unparalleled control over their multi-cluster Kubernetes deployments. -
- -- From its inception, Meshery was designed with the user in mind. It aimed to provide a robust and intuitive interface for managing service meshes, enabling users to optimize their monitoring, CI/CD, and security solutions effortlessly. With a focus on user experience and community-driven development, Meshery quickly gained traction within the open-source community. -
- -## Who is Meshery For? - -- Meshery is for everyone passionate about cloud-native technologies. Whether you're a DevOps engineer looking to streamline your Kubernetes management, a developer seeking to optimize your CI/CD pipelines, or a cloud enthusiast eager to explore the intricacies of service meshes, Meshery offers something valuable for you. -
- --Our diverse community includes individuals from all walks of life—seasoned professionals, enthusiastic beginners, and everyone in between. This diversity is our strength, fostering a rich environment where ideas flourish, and innovation thrives. -
- -## Celebrating the Community - -- Reaching 5,000 stars on GitHub is a testament to the incredible contributions from our community. Each star, each pull request, and each issue raised has played a part in shaping Meshery into the powerful tool it is today. -
- -#### A Heartfelt Thank You - -- To our contributors, thank you for your unwavering dedication. Your code contributions, documentation improvements, bug reports, and feature requests have been instrumental in Meshery's growth. -
- - - -- We extend our deepest gratitude to each of you. -
- -#### Acknowledging the CNCF - -- We are also proud to share that Meshery is the 10th fastest-growing project within the Cloud Native Computing Foundation (CNCF) by contributor count, among over 200 projects. This recognition is a significant milestone and a validation of our vision and efforts. Meshery has been proposed for incubation within CNCF, marking another exciting chapter in our journey. -
- - - -## Meshery: Leading in Open Source - --Meshery has garnered significant attention within the open-source community and stands out as a cornerstone program under the Linux Foundation. Its popularity stems from its ability to simplify and enhance cloud-native management, integrating seamlessly with CNCF projects for optimized Kubernetes environment management. -
- -#### Why Meshery Stands Out - -As we celebrate this milestone, we also recognize that this is just the beginning. The journey ahead is filled with opportunities for growth, learning, and innovation. We invite you—yes, you!—to join us in this exciting adventure.
- -#### How to Get Started - -- For many, contributing to Meshery has been more than a technical endeavor; it has been a personal and professional growth journey. -
-{" "} - -{" "} -- Each contribution, big or small, has been a stepping stone, enhancing technical prowess and fostering essential soft skills like communication and collaboration. -
- - - -## The Journey Has Just Begun - -As we look back on our achievements, we are filled with gratitude and excitement for the future.
- -With new features, enhancements, and community engagements on the horizon, there are endless opportunities to make a meaningful impact. We invite you to be a part of this journey. Join us in shaping the future of cloud-native management with Meshery. Together, we can achieve great things.
- -Thank you for your support, and happy contributing!
- -Useful links: -+ Achieving key milestones in open source reflects the combined efforts of passionate individuals and forward-thinking development. Today, we are thrilled to announce that Meshery, a leading project under the Layer5 umbrella, has reached a significant milestone: 5,000 stars 🌟 on GitHub! This achievement is more than just a number; it represents the collective efforts of our vibrant community, the dedication of our contributors, and the transformative journey that Meshery has embarked upon. +
+ ++ Let's take a moment to reflect on this journey, celebrate the people behind it, and look forward to the exciting future ahead. +
+ +## The Genesis of Meshery + ++ Meshery was born out of a simple yet ambitious idea: to create an open source, cloud native management platform that simplifies and enhances the experience of managing Kubernetes environments. The vision was to build a tool that integrates seamlessly with all CNCF projects, providing users with unparalleled control over their multi-cluster Kubernetes deployments. +
+ ++ From its inception, Meshery was designed with the user in mind. It aimed to provide a robust and intuitive interface for managing service meshes, enabling users to optimize their monitoring, CI/CD, and security solutions effortlessly. With a focus on user experience and community-driven development, Meshery quickly gained traction within the open-source community. +
+ +## Who is Meshery For? + ++ Meshery is for everyone passionate about cloud-native technologies. Whether you're a DevOps engineer looking to streamline your Kubernetes management, a developer seeking to optimize your CI/CD pipelines, or a cloud enthusiast eager to explore the intricacies of service meshes, Meshery offers something valuable for you. +
+ ++Our diverse community includes individuals from all walks of life—seasoned professionals, enthusiastic beginners, and everyone in between. This diversity is our strength, fostering a rich environment where ideas flourish, and innovation thrives. +
+ +## Celebrating the Community + ++ Reaching 5,000 stars on GitHub is a testament to the incredible contributions from our community. Each star, each pull request, and each issue raised has played a part in shaping Meshery into the powerful tool it is today. +
+ +#### A Heartfelt Thank You + ++ To our contributors, thank you for your unwavering dedication. Your code contributions, documentation improvements, bug reports, and feature requests have been instrumental in Meshery's growth. +
+ + + ++ We extend our deepest gratitude to each of you. +
+ +#### Acknowledging the CNCF + ++ We are also proud to share that Meshery is the 10th fastest-growing project within the Cloud Native Computing Foundation (CNCF) by contributor count, among over 200 projects. This recognition is a significant milestone and a validation of our vision and efforts. Meshery has been proposed for incubation within CNCF, marking another exciting chapter in our journey. +
+ + + +## Meshery: Leading in Open Source + ++Meshery has garnered significant attention within the open-source community and stands out as a cornerstone program under the Linux Foundation. Its popularity stems from its ability to simplify and enhance cloud-native management, integrating seamlessly with CNCF projects for optimized Kubernetes environment management. +
+ +#### Why Meshery Stands Out + +As we celebrate this milestone, we also recognize that this is just the beginning. The journey ahead is filled with opportunities for growth, learning, and innovation. We invite you—yes, you!—to join us in this exciting adventure.
+ +#### How to Get Started + ++ For many, contributing to Meshery has been more than a technical endeavor; it has been a personal and professional growth journey. +
+{" "} + +{" "} ++ Each contribution, big or small, has been a stepping stone, enhancing technical prowess and fostering essential soft skills like communication and collaboration. +
+ + + +## The Journey Has Just Begun + +As we look back on our achievements, we are filled with gratitude and excitement for the future.
+ +With new features, enhancements, and community engagements on the horizon, there are endless opportunities to make a meaningful impact. We invite you to be a part of this journey. Join us in shaping the future of cloud-native management with Meshery. Together, we can achieve great things.
+ +Thank you for your support, and happy contributing!
+ +Useful links: +Continuing in our Meet the Maintainer series, we have Xin Huang. Xin is a maintainer of the Cloud Native Performance project. In this interview, we get to know Xin a little better and learn about his journey as an open source project maintainer and with Layer5 community.
Xin, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the effects of your contributions, but may not know the backstory as to who Xin is and how you arrived at your maintainer role. Indulge us. How did you discover the Layer5 community? What made you stay?
- I’m working around Service Mesh Acceleration in Intel, and noticed the Service Mesh Performance project. So I attended the community meeting, the community is very active and welcoming and they hope for feedback and contribution from me. It’s the main reason that made me stay here and contribute continuously. + "I’m working around Service Mesh Acceleration in Intel, and noticed the Service Mesh Performance project. So I attended the community meeting, the community is very active and welcoming and they hope for feedback and contribution from me. It’s the main reason that made me stay here and contribute continuously."
Have you worked with any other open source project? How does Layer5 community compare?
Yes, I’ve worked with some open source projects. Layer5 community knows how to cultivate and fulfill the sprint of open source. If you are a newcomer to open source, you can get a big leg up from the Layer5 community.
+“Yes, I’ve worked with some open source projects. Layer5 community knows how to cultivate and fulfill the sprint of open source. If you are a newcomer to open source, you can get a big leg up from the Layer5 community."
What is so fascinating about service meshes? Why are you focused on this technology specifically?
- First, I’m working on Service Mesh Acceleration at Intel. Second, service mesh is a hot area this year, more and more people or enterprises are trying service mesh in their production. + “First, I’m working on Service Mesh Acceleration at Intel. Second, service mesh is a hot area this year, more and more people or enterprises are trying service mesh in their production."
-Service Mesh is the bridge between developers and infrastructure, how fascinating it is to build such a thing that benefits everyone.
+“Service Mesh is the bridge between developers and infrastructure, how fascinating it is to build such a thing that benefits everyone.“
Layer5 projects has a number of active, open source projects. You’ve been consistently contributing to a few of them. Which one(s) are you currently focusing on?
- I’m focusing on the SMP project, because it’s related to my working scope. I also use Meshery to manage our service mesh environment and show our effort on Service Mesh acceleration. Every project has its specific goal, I can’t tell which one is the best. + “I’m focusing on the SMP project, because it’s related to my working scope. I also use Meshery to manage our service mesh environment and show our effort on Service Mesh acceleration. Every project has its specific goal, I can’t tell which one is the best."
What is your favorite Meshery CLI command?
- Having worked on and been a user of Meshery's performance characterization features, I'm biased. I like the `mesheryctl perf` command the most. + "Having worked on and been a user of Meshery's performance characterization features, I'm biased. I like the `mesheryctl perf` command the most."
Where do you see Service Mesh Performance, Nighthawk, and Meshery heading?
- Meshery has a great dream to manage all the popular service mesh projects. It's a great idea for infrastructure & platform managers who are confused with so many different projects to try and understand their differences. + “Meshery has a great dream to manage all the popular service mesh projects. It's a great idea for infrastructure & platform managers who are confused with so many different projects to try and understand their differences."
What is your hot tip for working with Service Mesh Performance, Nighthawk, or Meshery that others may not know?
- We have a distributed performance characterization feature upcoming in Meshery in which Nighthawk will be externalized. Meshery manages the lifecycle of Nighthawk, using Nighthawk as one of its load generators to run performance benchmarks. As Nighthawk supports an adaptive load control as a feature, Meshery can leverage this to build a custom load controller to run performance benchmarks.
+ "We have a distributed performance characterization feature upcoming in Meshery in which Nighthawk will be externalized. Meshery manages the lifecycle of Nighthawk, using Nighthawk as one of its load generators to run performance benchmarks. As Nighthawk supports an adaptive load control as a feature, Meshery can leverage this to build a custom load controller to run performance benchmarks." + -By default, the adaptive load controller in Nighthawk runs benchmarks with different RPS values and based on the latency, it adjusts the RPS value. But, with its custom plugin ability, we can bring in our own inputs as well as metrics to measure.
+"By default, the adaptive load controller in Nighthawk runs benchmarks with different RPS values and based on the latency, it adjusts the RPS value. But, with its custom plugin ability, we can bring in our own inputs as well as metrics to measure."
-With the metrics from these tests, Meshery should also adjust the resiliency characteristics of the mesh automatically so as to improve these metrics and in turn improve performance. Meshery allows users to generate traffic load tests using Nighthawk. The tests are controlled and provisioned using meshery-nighthawk, a Meshery component supporting multiple load generators. This is a very powerful feature that is coming up in Meshery. -
++ "With the metrics from these tests, Meshery should also adjust the resiliency characteristics of the mesh automatically so as to improve these metrics and in turn improve performance. Meshery allows users to generate traffic load tests using Nighthawk. The tests are controlled and provisioned using meshery-nighthawk, a Meshery component supporting multiple load generators. This is a very powerful feature that is coming up in Meshery." +
Do you have any advice for individuals hopeful to become Layer5 contributors or potentially maintainers? -
Do you have any advice for individuals hopeful to become Layer5 contributors or potentially maintainers?
+Yes! I think that being a maintainer requires a combination of technical expertise, community engagement, and leadership skills. Start by being a consistent contributor yourself. Demonstrate your commitment by making regular and valuable contributions to the projects. You'll need to build a strong understanding of the technologies and the codebase. In order to demonstrate your technical leadership, you'll need to show initiative, take ownership of tasks, and often do the menial work that other contributors may not want to do.
+"Yes! I think that being a maintainer requires a combination of technical expertise, community engagement, and leadership skills. Start by being a consistent contributor yourself. Demonstrate your commitment by making regular and valuable contributions to the projects. You'll need to build a strong understanding of the technologies and the codebase. In order to demonstrate your technical leadership, you'll need to show initiative, take ownership of tasks, and often do the menial work that other contributors may not want to do."
-One aspect of being a maintainer is actively participating in the Layer5 community, helping newcomers, and engaging in helping advance project discussions. Guiding and supporting other contributors is an expecation of a maintainer, so it's important to have a good understanding of the project and the technologies involved.
+"One aspect of being a maintainer is actively participating in the Layer5 community, helping newcomers, and engaging in helping advance project discussions. Guiding and supporting other contributors is an expecation of a maintainer, so it's important to have a good understanding of the project and the technologies involved."
-Finally, I wholeheartedly suggest that you are not afraid to ask questions. The Layer5 community is welcoming and supportive. The existing maintainers are individuals who have given their time and demonstrated their dedication to the betterment of the projects. They are a valuable resource for you to learn from, too, so when you engage with them, be respectful of their time - be sure to have done your homework before asking questions.
+Finally, I wholeheartedly suggest that you are not afraid to ask questions. The Layer5 community is welcoming and supportive. The existing maintainers are individuals who have given their time and demonstrated their dedication to the betterment of the projects. They are a valuable resource for you to learn from, too, so when you engage with them, be respectful of their time - be sure to have done your homework before asking questions."
In other words, whether your contribution is big or small, it sounds like aiming for high-quality contributions that add value to the projects is key.
In other words, whether your contribution is big or small, it sounds like aiming for high-quality contributions that add value to the projects is key.
+Yes, that's right. It's important to remember that the Layer5 community is a diverse group of individuals with different backgrounds, experiences, and perspectives. Remember to have fun and enjoy the process of learning, contributing, and collaborating with the community.
+"Yes, that's right. It's important to remember that the Layer5 community is a diverse group of individuals with different backgrounds, experiences, and perspectives. Remember to have fun and enjoy the process of learning, contributing, and collaborating with the community."
The Meshery project moves at an impressive pace thanks to maintainers like Xin. Be like Xin. Join the Layer5 Slack and say “hi".
The Meshery project moves at an impressive pace thanks to maintainers like Xin. Be like Xin. Join the Layer5 Slack and say “hi".
Continuing in our Meet the Maintainer series, we have{" "} Hussaina Begum, Staff Engineer at VMware. Hussaina @@ -34,7 +34,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Hussaina, thank you for joining me today. Many people inside and outside of @@ -45,7 +45,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I wanted to contribute to open source for a long time and finally made up @@ -60,7 +60,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
You’re a Meshery Maintainer and have been for some long time now. What does @@ -68,7 +68,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Lots of learning. Though I started out small in Meshery with a @@ -77,7 +77,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Layer5 projects has a number of active, open @@ -87,7 +87,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I have contributed to mesheryctl, meshkit and meshery.io projects so far, @@ -95,46 +95,46 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What’s the coolest Meshery demo you have done/seen?
The Meshery Playground is an awesome system and a something of a hidden gem in cloud native ecosystem. I also remember the `mesheryctl perf` CLI demo I have done on the Meshery office hours from one of the Kubecon events and am proud of this. Kudos to all the contributors of `mesheryctl` command development and refactors.
What do you anticipate will be Meshery’s biggest announcement this year?
Meshery project moving to Incubating status! 🙂
What is your favorite Meshery CLI command?
mesheryctl system start
What is your hot tip for working with Meshery that others may not know?
Use Slack effectively and leverage discuss forum, talk to MeshMates and @@ -142,7 +142,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What are some personal goals for the next year with respect to the Meshery @@ -150,7 +150,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Work on the long pending `system config` CLI improvements and contribute to @@ -158,7 +158,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Interesting. Do expand on that: What do you think Meshery could offer in @@ -166,12 +166,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Labs designed in a way that they work with local resources.
Your most often used emoji? Your preference: movie or book? Morning person @@ -180,7 +180,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
eyes emoji. My preference is a book compared to a movie. I am a Night Owl @@ -191,7 +191,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
The cloud native ecosystem moves quickly. Keeping up with all the @@ -199,7 +199,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I like listening to kubernetes podcasts and I follow the internal slack @@ -211,7 +211,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Do you have any advice for individuals hopeful to become Layer5 contributors @@ -219,7 +219,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Show up and attend the meetings which align with your expertise and areas @@ -229,7 +229,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
The Meshery project moves at an impressive pace thanks to maintainers like
diff --git a/src/collections/blog/2024/09-27-meet-the-maintainer-aisuko-li/post.mdx b/src/collections/blog/2024/09-27-meet-the-maintainer-aisuko-li/post.mdx
index 1d07776600b4..6489c1b7acdb 100644
--- a/src/collections/blog/2024/09-27-meet-the-maintainer-aisuko-li/post.mdx
+++ b/src/collections/blog/2024/09-27-meet-the-maintainer-aisuko-li/post.mdx
@@ -23,7 +23,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Continuing in our Meet the Maintainer series, we have{" "}
Aisuko Li. Aisuko is a
@@ -35,7 +35,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Aisuko, thank you for joining me today. Many people inside and outside of
@@ -46,7 +46,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Thanks for having me here. Actually, Aisuko is my code name. My real name is Bowen Li. I love both of
@@ -63,7 +63,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
You’ve been consistently contributing to a large number of Layer5 projects
@@ -73,7 +73,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Actually, the Meshery project in 2021-2022 has changed a lot. More skilled and
@@ -88,14 +88,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Have you worked with any other open source projects? How does Layer5 compare?
I was active in the Rancher community and the Helm charts project, where I owned
@@ -112,12 +112,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Fascinating. Why did you pick service meshes specifically, though?
I have worked with many middle- and small-sized companies that wanted to migrate
@@ -129,7 +129,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Haha. Leading on from that, what should Meshery dream about next? What can we hope
@@ -137,7 +137,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I once talked to Lee, the founder of Layer5. Due to time zone differences, we don’t
@@ -153,14 +153,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Interesting. Do expand on that. What do you think Meshery could offer, in addition to what it already does?
I believe we can offer a CNCF-standard performance tool for all service mesh
@@ -170,12 +170,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What are today's challenges when working with service meshes?
Even though service mesh has many features, it's still not always stable in production.
@@ -187,14 +187,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
That’s good to hear. What do you think we should look forward to with respect to service mesh development?
I’ve worked with service mesh applications like Linkerd2, Istio, and OSM in development environments. OSM is my preference because it’s modular and has a simpler architecture compared to others.
@@ -205,7 +205,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Ah, while I have you here, let me get more reading recommendations lined up.
@@ -215,7 +215,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
People are always interested in new technology, but we are limited by time. I believe
@@ -228,14 +228,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What does being a Meshery maintainer mean to you? How has being a maintainer impacted your full-time role?
It’s an honor to be a maintainer of the Meshery community. The membership
@@ -245,7 +245,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Do you have any advice for individuals hoping to become Layer5 contributors
@@ -253,7 +253,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
The Layer5 and Meshery communities are always welcoming to everyone.
@@ -266,7 +266,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
The Meshery project moves at an impressive pace thanks to maintainers like
diff --git a/src/collections/blog/2024/10-22-meet-the-maintainer-aadhitya-amarendiran/post.mdx b/src/collections/blog/2024/10-22-meet-the-maintainer-aadhitya-amarendiran/post.mdx
index 4c1d851741be..c8e2972c72f5 100644
--- a/src/collections/blog/2024/10-22-meet-the-maintainer-aadhitya-amarendiran/post.mdx
+++ b/src/collections/blog/2024/10-22-meet-the-maintainer-aadhitya-amarendiran/post.mdx
@@ -23,7 +23,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Continuing in our Meet the Maintainer series, we have{" "}
Aadhitya Amarendiran. Aadhitya
@@ -34,21 +34,21 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Aadhitya, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the effects of your contributions, but may not know the backstory as to who Aadhitya is and how you arrived at your maintainer role. Indulge us. How did you discover the Layer5 community? What made you stay?
It was around the year 2020 when I was a sophomore and explored many things in the field of open source. I got to know about Meshery via the LFX program and tried applying for it, though I was a newcomer at that time. Later, I learned more about Layer5, started attending the community call, and met the community. The community members helped me a lot wherever I got stuck as a newcomer, which made me learn new things and involve myself in the project, which later helped me grow. Oh, of course, great learning sessions from Lee during development and community calls.
You’re a Meshery Maintainer and have been for some long time now. What does
@@ -56,26 +56,26 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Three things come into my mind: Learning lots of new things, Challenging yourself to your limits and being a helpful navigator for contributors. During my time as a newcomer, I started out with a simple readme fix PR in the Meshery project, which I thought would cause less impact. But the maintainers accepted my PR though it’s a very small one. That instilled a feeling in me that I should give back to the community by helping newcomers and contributors whenever they are stuck in work.
Have you worked with any other open source project? How does Layer5 compare?
Not a lot, but I worked on quite a few open source projects. Layer5 is one of the best places to start if you are new to open source. By being involved in the community, you will feel and understand the spirit of open source.
Layer5 projects have a number of active, open
@@ -84,62 +84,62 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I currently work on Meshery, as it piqued my interest during my initial days. I also work on the Meshery-SMP GitHub action project as well.
What’s the coolest Meshery demo you have done/seen?
I’ve seen a lot of demos but the coolest one for me is the Meshery Docker extension where you can start and use Meshery right from DockerHub!
What is your favorite Meshery CLI Command?
Oof! That’s a tricky one. But my favorite one is definitely What is your hot tip for working with Meshery that others may not know?
If you’re starting out with Meshery, make sure to use the Meshery Playground if you want to get hands-on for the first time without the need to deploy Meshery in your system. After you get the basics right, install Meshery and log in to your deployed instance. You’ll see that your designs, performance test results and configurations remain intact in your instance as if they are present exactly the same in the Playground. There’s no need to start from scratch. Just continue where you left off!
Where do you see opportunities for contributors to get involved within Meshery and Layer5 community?
Considering the fact that Meshery is now a part of CNCF (especially the fact that we are aiming for the Incubation status as well!), I feel that Meshery has a wide range of scope for contributors to be involved in. Whether you’re an expert or a newbie, Meshery has lots of subdomains to contribute. Documentation, Frontend, Backend, Adapters… the list goes on.
Your most often used emoji? Your preference: movie or book? Morning person
@@ -148,14 +148,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Most used emoji: 😎. I’m a morning person usually and sleep early, but sometimes I’m a night owl when it comes to intense work. I’d prefer movies compared to books as for some they clearly adapt from books. I’ve worked on refactoring the
Do you have any advice for individuals hopeful to become Layer5 contributors
@@ -163,28 +163,28 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Make your presence stand out from the crowd even if you are a beginner, and learn as much as you can. Seek MeshMates and maintainers if you get stuck in something. Ask questions during meets or in Slack, and get feedback on your PRs, doesn’t matter if it’s big or small. Incorporate feedback and improvise. Remember, communication is the key, and be active!
In other words, whether your contribution is big or small, it sounds like aiming for high-quality contributions that add value to the projects is key.
Yes, you got it right! Even the smallest contribution which creates a good impact in a project becomes a great factor in Open source. All that matters is perseverance, challenging yourself to limits and learning. Do these things right and you’ll find yourself growing in the community.
The Meshery project moves at an impressive pace thanks to maintainers like
diff --git a/src/collections/blog/2024/11-01-meet-the-maintainer-yash-sharma/post.mdx b/src/collections/blog/2024/11-01-meet-the-maintainer-yash-sharma/post.mdx
index 78d3c60418e8..5495a17349a9 100644
--- a/src/collections/blog/2024/11-01-meet-the-maintainer-yash-sharma/post.mdx
+++ b/src/collections/blog/2024/11-01-meet-the-maintainer-yash-sharma/post.mdx
@@ -23,7 +23,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Continuing in our Meet the Maintainer series, we have{" "}
Yash Sharma. Yash is a
@@ -33,7 +33,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Yash, thank you for joining me today. Many people inside and outside of the
@@ -44,7 +44,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Thanks for having me, Hargun, I got into open source about two years ago,
@@ -63,14 +63,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
You’re a Meshery maintainer and have been for some long time now. What does being a Meshery maintainer mean to you?
Honestly, being a maintainer is about taking responsibility for a big part
@@ -82,14 +82,14 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Have you worked with any other open source project? How does Layer5 compare?
I’ve contributed to other open source projects, but I didn’t really get a
@@ -102,7 +102,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Layer5 projects have a number of active, open
@@ -111,7 +111,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Absolutely, Layer5 has a number of active open source projects, and I’ve
@@ -120,12 +120,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What’s the coolest Meshery demo you have done/seen?
Haha good one, this year I got a chance to represent Meshery at KubeCon
@@ -135,12 +135,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What is your favorite feature in Meshery UI?
Meshery is an extensible platform and I like this feature of it, it gives Meshery a whole new powerful capability to interact with various
@@ -149,12 +149,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
What is your hot tip for working with Meshery that others may not know?
I definitely encourage you to join the meetings. They’re a great way to
@@ -165,7 +165,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Where do you see opportunities for contributors to get involved within
@@ -173,7 +173,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Meshery is growing very fast, it is the 9th fastest growing project under
@@ -193,7 +193,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Your most often used emoji? Your preference: movie or book? Morning person
@@ -202,7 +202,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
I’d definitely recommend reading 'Six Easy Pieces' by Richard Feynman. It’s
@@ -210,7 +210,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Do you have any advice for individuals hopeful to become Layer5 contributors
@@ -218,7 +218,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
Good question, I’d say think about the long-term. People are more likely to
@@ -230,7 +230,7 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
In other words, whether your contribution is big or small, it sounds like
@@ -238,12 +238,12 @@ import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
You summarized it perfectly, yes I agree with you Hargun.
The Meshery project moves at an impressive pace thanks to maintainers like
diff --git a/src/collections/blog/2024/11-10-kubecon-na-2024/post.mdx b/src/collections/blog/2024/11-10-kubecon-na-2024/post.mdx
index 69dda7e6fe3b..4c36e6748750 100644
--- a/src/collections/blog/2024/11-10-kubecon-na-2024/post.mdx
+++ b/src/collections/blog/2024/11-10-kubecon-na-2024/post.mdx
@@ -43,7 +43,7 @@ Human-Computer Interaction Principles in Meshery:
Date: November 12, 2024
Date: November 14, 2024
Date: November 14, 2024
In this position, you will collaborate with our core team in each stage of marketing campaigns. Your work will include developing,
growing, and expanding our marketing channels through social media outreach, blogging, event planning, and speaker engagement.
- Internships are continuously available. This is a dynamic position and a great opportunity for an entry level marketing person to build their skills and their career. The Digital Marketing Intern will work closely with the open source community and broad set of Layer5 academic and technology partners.
The ideal candidate has excellent English composition and grammar skills. He/she is analytical, great with numbers and is driven to succeed with little supervision. You are someone who works well in a team and takes pride in helping a company succeed and grow and are willing to put in the work needed to become a valued member of an evolving marketing team.
-As the third phase in your microservices journey, service meshes provide a substrate of secure connectivity, uniform visibility and granular control over service requests. Service meshes have quickly entered the cloud native landscape filling unmet service-level needs. Organizations that have adopted containers and who are running a handful or more of microservices find tools to provide observability, control and security lacking. Operating at layer 5, service meshes promise much value. This live training walks you through a series of hands-on labs, introducing you to each and every aspect of the popular service mesh - Istio. During this workshop you will gain hands-on experience as we walk through deploying Istio alongside microservices running in Kubernetes.
-
+As the third phase in your microservices journey, service meshes provide a substrate of secure connectivity, uniform visibility and granular control over service requests. Service meshes have quickly entered the cloud native landscape filling unmet service-level needs. Organizations that have adopted containers and who are running a handful or more of microservices find tools to provide observability, control and security lacking. Operating at layer 5, service meshes promise much value. This live training walks you through a series of hands-on labs, introducing you to each and every aspect of the popular service mesh - Istio. During this workshop you will gain hands-on experience as we walk through deploying Istio alongside microservices running in Kubernetes.
+ In this workshop an introduction to Meshery and what a Service Mesh is will be addressed. Then the entire flow will be shown to contribute to various Meshery repositories such as CI workflows, e2e Testing with Cypress, Documentation, Translations, among others. In this workshop an introduction to Meshery and what a Service Mesh is will be addressed. Then the entire flow will be shown to contribute to various Meshery repositories such as CI workflows, e2e Testing with Cypress, Documentation, Translations, among others.
- Which service mesh should I use and how do I get started? What are the
- different service meshes, and how do they contrast? Learn about the
- functionality of different service meshes and visually manipulate mesh
- configuration.{" "}
-
- This talk introduces Meshery, an open source, multi-service mesh management
- plane that provisions (ten and counting) different service meshes, their
- sample applications and how it benchmarks the performance of service mesh
- deployments. Meshery facilitates benchmarking various configuration scenarios
- of any service mesh, comparison of performance of services (applications) on
- and off the mesh and across different meshes. It vets mesh and service
- configurations against deployment best practices. Some of the service mesh
- projects use Meshery as their performance benchmark tool for each release.
-
- With the increasing prevalence of microservice-based distributed systems, this
- is true: the network, as a discipline, has never been so critical in the
- efficient operation of cloud-native deployments. Network primitives including
- load balancing, observability, authentication, authorization, policies, rate
- limiting, QoS, mesh networks, traditional infrastructure bridging, and so on
- are now being developed and invested by the entire industry, and are the focus
- of the Service Mesh Working Group withing the CNCF TAG Network.{" "}
-
- Listen to our introduction and get an in-depth understanding of the service
- mesh projects being managed within the working group.
- Join the Meshery Project Office Hours at KubeCon China 2021 to learn more about the CNCF's latest service mesh project and its maintainers. Come and discover why Meshery is the easiest way to get started with 10+ service meshes! Join the Service Mesh Performance Project Office Hours at KubeCon China 2021 and get introduced to the new standard of cloud native performance characterisation and to its open source maintainers. Learn what Service Mesh Performance is and how Meshery's implementation uses it to measure the performance of any service mesh available. 例如:我们应该如何选择并使用服务网格技术以及如何上手?目前存在哪些不同的服务网格产品,互相之间如何进行对比?了解不同的服务网格产品的功能并且可以直观地对服务网格进行配置。 本次演讲旨在介绍 Meshery, 一款开源的多服务网格管理平面,它提供了市面上(至少10个)不同的服务网格产品的生命周期管理,示例应用程序以及开箱即用的服务网格的性能基准测试功能。 Meshery有能力在各种不同的场景下对任意的服务网格进行性能基准测试的能力,比较不同应用程序在服务网格内外以及不同服务网格之间的性能。它可以根据服务网格的最佳实践来审查网络和服务配置。越来越多的服务网格项目使用Meshery作为每个版本的性能基准测试工具。 随着基于微服务的分布式系统越来越流行,网络作为一门学科,在云原生的高效部署和运行中变得越来越重要已然成为了不可动摇的事实。包括负载均衡,可观察性,鉴权,授权,策略,限速,QoS,Mesh网络,传统基础设施桥接等,正在被整个行业大力发展和投资,这些也是CNCF TAG Network的Service Mesh Working Group的重点。 欢迎参加我们的介绍来深入的了解工作组内管理的服务网格项目。 欢迎大家加入到KubeCon 2021 中国站 Meshery office hours,来了解CNCF服务网格项目的最新进展,以及与项目维护者进行在线互动。 快来了解为什么Meshery是开始使用10+个服务网格的最简单方法! 欢迎大家加入到KubeCon 2021 中国站 Service Mesh Performance Project Office Hours,来了解云原生性能表征的新标准的资讯,以及与项目维护者进行在线互动。 欢迎大家来了解什么是服务网格性能以及Meshery如何实现衡量任何可用服务网格的性能。
+ Which service mesh should I use and how do I get started? What are the
+ different service meshes, and how do they contrast? Learn about the
+ functionality of different service meshes and visually manipulate mesh
+ configuration.{" "}
+
+ This talk introduces Meshery, an open source, multi-service mesh management
+ plane that provisions (ten and counting) different service meshes, their
+ sample applications and how it benchmarks the performance of service mesh
+ deployments. Meshery facilitates benchmarking various configuration scenarios
+ of any service mesh, comparison of performance of services (applications) on
+ and off the mesh and across different meshes. It vets mesh and service
+ configurations against deployment best practices. Some of the service mesh
+ projects use Meshery as their performance benchmark tool for each release.
+
+ With the increasing prevalence of microservice-based distributed systems, this
+ is true: the network, as a discipline, has never been so critical in the
+ efficient operation of cloud-native deployments. Network primitives including
+ load balancing, observability, authentication, authorization, policies, rate
+ limiting, QoS, mesh networks, traditional infrastructure bridging, and so on
+ are now being developed and invested by the entire industry, and are the focus
+ of the Service Mesh Working Group withing the CNCF TAG Network.{" "}
+
+ Listen to our introduction and get an in-depth understanding of the service
+ mesh projects being managed within the working group.
+ Join the Meshery Project Office Hours at KubeCon China 2021 to learn more about the CNCF's latest service mesh project and its maintainers. Come and discover why Meshery is the easiest way to get started with 10+ service meshes! Join the Service Mesh Performance Project Office Hours at KubeCon China 2021 and get introduced to the new standard of cloud native performance characterisation and to its open source maintainers. Learn what Service Mesh Performance is and how Meshery's implementation uses it to measure the performance of any service mesh available. 例如:我们应该如何选择并使用服务网格技术以及如何上手?目前存在哪些不同的服务网格产品,互相之间如何进行对比?了解不同的服务网格产品的功能并且可以直观地对服务网格进行配置。 本次演讲旨在介绍 Meshery, 一款开源的多服务网格管理平面,它提供了市面上(至少10个)不同的服务网格产品的生命周期管理,示例应用程序以及开箱即用的服务网格的性能基准测试功能。 Meshery有能力在各种不同的场景下对任意的服务网格进行性能基准测试的能力,比较不同应用程序在服务网格内外以及不同服务网格之间的性能。它可以根据服务网格的最佳实践来审查网络和服务配置。越来越多的服务网格项目使用Meshery作为每个版本的性能基准测试工具。 随着基于微服务的分布式系统越来越流行,网络作为一门学科,在云原生的高效部署和运行中变得越来越重要已然成为了不可动摇的事实。包括负载均衡,可观察性,鉴权,授权,策略,限速,QoS,Mesh网络,传统基础设施桥接等,正在被整个行业大力发展和投资,这些也是CNCF TAG Network的Service Mesh Working Group的重点。 欢迎参加我们的介绍来深入的了解工作组内管理的服务网格项目。 欢迎大家加入到KubeCon 2021 中国站 Meshery office hours,来了解CNCF服务网格项目的最新进展,以及与项目维护者进行在线互动。 快来了解为什么Meshery是开始使用10+个服务网格的最简单方法! 欢迎大家加入到KubeCon 2021 中国站 Service Mesh Performance Project Office Hours,来了解云原生性能表征的新标准的资讯,以及与项目维护者进行在线互动。 欢迎大家来了解什么是服务网格性能以及Meshery如何实现衡量任何可用服务网格的性能。
- Join Layer5 at DevConf.cz 2022 as
- we share on our CNCF projects Meshery and Service Mesh Performance. Bring
- your questions. We have answers. Engage with us in our talks!
-
-
-Benchmarking a service mesh and your workload’s performance is no simple task. Questions arise like:
-
-
-
-Engineers adopting microservice architectures are quickly faced with distributed systems challenges and in need of implementing rate limiting, circuit breaking, timeouts, retries, and implementing metrics, logging and tracing into each service is no simple task. Enter the service mesh.
-
-
-
-What is a service mesh? Why do you need one?
-What types of service meshes are available? How do they contrast?
-
-Learn how Meshery, a CNCF Project, multi-service mesh management plane implements the service mesh specifications, Service Mesh Performance (SMP) and Service Mesh Interface (SMI), to empower users to manage more than 10 service meshes simultaneously.
-
-Understand how Meshery uses a catalog of Cloud Native Patterns to provide templates for best practice configurations and how you can design new patterns with the visual topology designer, Kanvas
-
-
- Attendees will be empowered with the ability to quickly deploy different
- service meshes in which they may learn how service meshes function and how
- each differs from the next, so that they may select the best-fit-for-purpose
- service mesh for their workloads and their environment. It will be very
- helpful for experienced service mesh operators seeking to learn best practices
- through service mesh design patterns.
-
+ Join Layer5 at DevConf.cz 2022 as
+ we share on our CNCF projects Meshery and Service Mesh Performance. Bring
+ your questions. We have answers. Engage with us in our talks!
+
+
+Benchmarking a service mesh and your workload’s performance is no simple task. Questions arise like:
+
+
+
+Engineers adopting microservice architectures are quickly faced with distributed systems challenges and in need of implementing rate limiting, circuit breaking, timeouts, retries, and implementing metrics, logging and tracing into each service is no simple task. Enter the service mesh.
+
+
+
+What is a service mesh? Why do you need one?
+What types of service meshes are available? How do they contrast?
+
+Learn how Meshery, a CNCF Project, multi-service mesh management plane implements the service mesh specifications, Service Mesh Performance (SMP) and Service Mesh Interface (SMI), to empower users to manage more than 10 service meshes simultaneously.
+
+Understand how Meshery uses a catalog of Cloud Native Patterns to provide templates for best practice configurations and how you can design new patterns with the visual topology designer, Kanvas
+
+
+ Attendees will be empowered with the ability to quickly deploy different
+ service meshes in which they may learn how service meshes function and how
+ each differs from the next, so that they may select the best-fit-for-purpose
+ service mesh for their workloads and their environment. It will be very
+ helpful for experienced service mesh operators seeking to learn best practices
+ through service mesh design patterns.
+
- Join Layer5 in-person at Docker Community Meetup - Bengaluru as
- we share on the Meshery Docker Extension and how you can manage your cloud native applications using it.
-
-Managing cloud native infrastructure becomes a nightmare with hundreds of distributed systems. Vectors like performance, and metrics are game changers but not precisely interpreted. Meshery Docker Extension is here to empower engineers so they can extract more value from their infrastructure.
- What will you learn?
+ Join Layer5 in-person at Docker Community Meetup - Bengaluru as
+ we share on the Meshery Docker Extension and how you can manage your cloud native applications using it.
+
+Managing cloud native infrastructure becomes a nightmare with hundreds of distributed systems. Vectors like performance, and metrics are game changers but not precisely interpreted. Meshery Docker Extension is here to empower engineers so they can extract more value from their infrastructure.
+ What will you learn?
- Join Layer5 in-person at Docker Developer Community Meetup - Bengaluru as
- we share on the Meshery Docker Extension and how you can manage your cloud native applications using it.
-
-
-The Meshery Docker Extension’s ability to import Docker Compose apps, convert them to Kubernetes applications, and deploy them on any visually and collaboratively is a powerful enabler for microservices developers, who need to develop, test, and deploy their modern applications in the context of and compatibility with any Kubernetes cluster. Along with this, the extension can help you to:
-
-
+ Join Layer5 in-person at Docker Developer Community Meetup - Bengaluru as
+ we share on the Meshery Docker Extension and how you can manage your cloud native applications using it.
+
+
+The Meshery Docker Extension’s ability to import Docker Compose apps, convert them to Kubernetes applications, and deploy them on any visually and collaboratively is a powerful enabler for microservices developers, who need to develop, test, and deploy their modern applications in the context of and compatibility with any Kubernetes cluster. Along with this, the extension can help you to:
+
+
-Read the recap blog post and find out more about Docker Extension for Meshery.
+---
+title: "DockerCon 2022: Lighting Talk in a dedicated community room"
+description: "Discover how HPE Security Engineering achieves workload identity and attestation across all service meshes with the Meshery Docker Extension. Leveraging this extension, HPE tests the performance of their SPIFFE and SPIRE-based identity solution on their service mesh of choice."
+thumbnail: ./HPE.webp
+darkthumbnail: ./HPE.webp
+date: 2022-05-10
+eurl: https://docker.events.cube365.net/dockercon/2022
+type: Event
+product: Meshery
+technology: Docker
+resource: true
+speakers: ["Lee Calcote", "Maximiliano Churichi"]
+published: true
+upcoming: false
+---
+
+
+
+With a goal to bring workload identity and attestation to all service meshes, HPE Security Engineering uses the Docker Desktop Extension for Meshery to deploy their service mesh of choice and test the performance of their SPIFFE and SPIRE-based identity solution.
+
+The Meshery extension transforms Docker Desktop into powerful load generation utility, conveniently enables HPE engineers with the ability to deploy and configure any service mesh with a click of the button and invoke and control load-based performance tests from their desktop.
+
+Can’t wait to get your hands on Docker Desktop for Meshery in the meantime? Sign up for our beta program to get early access!
+
+
+Read the recap blog post and find out more about Docker Extension for Meshery.
-Read the recap blog post and find out more about Docker Extension for Meshery.
+---
+title: "DockerCon 2022: Lighting Talk on the main stage"
+description: "Explore the unique functionalities of HashiCorp’s Consul service mesh with Meshery. Using the visual designer, Kanvas, Meshery empowers developers to fully understand Consul's differentiated capabilities, enabling visual configuration and deployment of Consul-based deployments and workloads."
+thumbnail: ./Hashicorp.webp
+darkthumbnail: ./Hashicorp.webp
+date: 2022-05-10
+eurl: https://docker.events.cube365.net/dockercon/2022
+type: Event
+product: Meshery
+technology: Docker
+resource: true
+speakers: ["Lee Calcote", "Nic Jackson"]
+published: true
+upcoming: false
+featured: true
+---
+
+
+
+HashiCorp’s Consul service mesh offers unique functionality offered to its users. Using its visual designer, Kanvas, Meshery facilitates the developers full understanding of Consul’s differientiated capabilities, allowing developer’s to visually configure and deploy Consul-based deployments and their workloads.
+
+The Meshery extension’s ability to import Docker Compose apps, convert them to Kubernetes applications, and deploy them on Consult service meshes is a powerful enabler for microservices developers, who need to dev, test, and deploy their modern applications in context of and compatibility with Consul service mesh.
+
+Can’t wait to get your hands on Docker Desktop for Meshery in the meantime? Sign up for our beta program to get early access!
+
+
+Read the recap blog post and find out more about Docker Extension for Meshery.
-With the increasing prevalence of microservice-based distributed systems, this is true: the network, as a discipline, has never been so critical in the efficient operation of cloud-native deployments. Network primitives including load balancing, observability, authentication, authorization, policies, rate limiting, QoS, mesh networks, traditional infrastructure bridging, and so on are now being developed and invested by the entire industry, and are the focus of the Service Mesh Working Group withing the CNCF TAG Network. Listen to our introduction and get an in-depth understanding of the service mesh projects being managed within the working group.
-
+With the increasing prevalence of microservice-based distributed systems, this is true: the network, as a discipline, has never been so critical in the efficient operation of cloud-native deployments. Network primitives including load balancing, observability, authentication, authorization, policies, rate limiting, QoS, mesh networks, traditional infrastructure bridging, and so on are now being developed and invested by the entire industry, and are the focus of the Service Mesh Working Group withing the CNCF TAG Network. Listen to our introduction and get an in-depth understanding of the service mesh projects being managed within the working group.
+
Date: October 27, 2022
-What makes the MeshMate program really successful is the 1 to 1 personalized mentorship with the aim to make new joiners comfortable with opens source and mentoring them to get their first open source commit! Thus making MeshMate one of the most engaging and amazing community experience possible.
-
-
+What makes the MeshMate program really successful is the 1 to 1 personalized mentorship with the aim to make new joiners comfortable with opens source and mentoring them to get their first open source commit! Thus making MeshMate one of the most engaging and amazing community experience possible.
+
+
-Still trying to understand how to best gauge the performance of your cloud native infrastructure? Confused as to whether self-published, performance benchmarks are trustworthy or simply biased marketing in disguise? Measurement data may not provide a clear and simple picture of how well those applications are performing from a business point of view, a characteristic desired in metrics that are used as key performance indicators. Behold MeshMark: a performance index that provides you with the ability to weigh the value vs overhead of your cloud native environment. Convert performance measurements into insights about the value of individual, cloud native application networking functions. Join us as we distill a variety of microarchitecture performance signals and application key performance indicators into a simple scale. Explore the other side of the performance measurement coin: value measurement.
-
-Read the recap blog post and find out more about MeshMark.
+---
+title: "ServiceMeshCon EU 2022"
+description: "Unlock the true potential of your cloud-native infrastructure with MeshMark, a cutting-edge performance index by Layer5, ServiceMeshCon EU 2022"
+date: 2022-05-17
+thumbnail: ./servicemeshcon22.webp
+darkthumbnail: ./servicemeshcon22.webp
+eurl: https://events.linuxfoundation.org/servicemeshcon-europe/
+type: Event
+published: true
+upcoming: false
+speakers: ["Lee Calcote","Mrittika Ganguli"]
+---
+
+import { Link } from "gatsby";
+import IntelLogo from "../../../../assets/images/partners/intel_blue.svg";
+import Layer5Logo from "../../../../assets/images/layer5/layer5-only/svg/layer5-no-trim.svg";
+
+Join Layer5 at ServiceMeshCon Europe 2022. ServiceMeshCon is a vendor-neutral conference on service mesh technologies. Topics include getting started with and adopting a mesh, lessons learned from production deployments, and technical sessions from service mesh maintainers.
+
+
+Still trying to understand how to best gauge the performance of your cloud native infrastructure? Confused as to whether self-published, performance benchmarks are trustworthy or simply biased marketing in disguise? Measurement data may not provide a clear and simple picture of how well those applications are performing from a business point of view, a characteristic desired in metrics that are used as key performance indicators. Behold MeshMark: a performance index that provides you with the ability to weigh the value vs overhead of your cloud native environment. Convert performance measurements into insights about the value of individual, cloud native application networking functions. Join us as we distill a variety of microarchitecture performance signals and application key performance indicators into a simple scale. Explore the other side of the performance measurement coin: value measurement.
+
+Read the recap blog post and find out more about MeshMark.
Join Layer5 and Intel at the Istio conference on Monday, Sept. 25th to Tuesday, Sep. 26th. IstioCon is a 100% virtual event that is designed to connect community members across the globe with Istio and the Istio ecosystem. Join Layer5 and Intel at the Istio conference on Monday, Sept. 25th to Tuesday, Sep. 26th. IstioCon is a 100% virtual event that is designed to connect community members across the globe with Istio and the Istio ecosystem.
-Hacktoberfest is just around the corner. You'd be surprised to know how small changes can make a big impact on a project. The more a project scales, the easier it is for small errors to live within it. You can make a real difference by fixing these relatively easier issues and continue to grow from there.
-
-Prepare for Hacktoberfest and ready yourself for contributing to Docker Extensions the easy way with Layer5 MeshMates and Maintainers. Using the Docker Meshery Extension, spend an hour with seasoned, open source maintainers and hack your way through. To get a headstart, see our Newcomers Resources. Get familiar with the Layer5 community through our Community Handbook.
- Resources:
- Earn a Badge Earn a Hacktoberfest Contributor badge by contributing to Layer5 projects during this Hacktoberfest.
+Hacktoberfest is just around the corner. You'd be surprised to know how small changes can make a big impact on a project. The more a project scales, the easier it is for small errors to live within it. You can make a real difference by fixing these relatively easier issues and continue to grow from there.
+
+Prepare for Hacktoberfest and ready yourself for contributing to Docker Extensions the easy way with Layer5 MeshMates and Maintainers. Using the Docker Meshery Extension, spend an hour with seasoned, open source maintainers and hack your way through. To get a headstart, see our Newcomers Resources. Get familiar with the Layer5 community through our Community Handbook.
+
+ Resources:
+ Earn a Badge Earn a Hacktoberfest Contributor badge by contributing to Layer5 projects during this Hacktoberfest. Join Pranav Singh at KCD Chennai 2023 to witness firsthand how Meshery revolutionizes Kubernetes operations, enabling seamless orchestration across multiple environments made possible by GitOps principles and multi-user collaboration.. Embark on your Open Source journey with an insightful session led by Layer5's community member Samyak . Joining him is Yash, our Intern, MeshMate and a valued member of the community. This dynamic duo will guide you through the realms of open-source, while providing valuable insights about Layer5's projects. Don't let this opportunity pass you by – seize the chance to embark on your open source adventure with us and explore the world of Layer5. Register for the event and join us in a live session on August 19th at 7 PM IST on Newton's school discord channel Embark on your Open Source journey with an insightful session led by Layer5's community member Samyak . Joining him is Yash, our Intern, MeshMate and a valued member of the community. This dynamic duo will guide you through the realms of open-source, while providing valuable insights about Layer5's projects. Don't let this opportunity pass you by – seize the chance to embark on your open source adventure with us and explore the world of Layer5. Register for the event and join us in a live session on August 19th at 7 PM IST on Newton's school discord channel
-The Cloud Native Computing Foundation’s flagship conference gathers adopters and technologists from leading open source and cloud native communities in Amsterdam, The Netherlands from 18-21 April, 2023. Join our CNCF Graduated and Incubating Projects as the community gathers for four days to further the education and advancement of cloud native computing.
+---
+title: "KubeCon + CloudNativeCon EU Amsterdam 2023"
+description: "CNCF Tag Network and Service mesh Working Group Deep Dive"
+date: 2023-04-18
+thumbnail: ./kubeconEU2023.webp
+darkthumbnail: ./kubeconEU2023.webp
+eurl: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/
+type: Event
+published: true
+upcoming: false
+feature: false
+speakers: ["Lee Calcote"]
+
+---
+
+Join Layer5 at KubeCon + CloudNativeCon EU Amsterdam 2023!
+
+
+The Cloud Native Computing Foundation’s flagship conference gathers adopters and technologists from leading open source and cloud native communities in Amsterdam, The Netherlands from 18-21 April, 2023. Join our CNCF Graduated and Incubating Projects as the community gathers for four days to further the education and advancement of cloud native computing.
Meshery is a self-service engineering platform that enables the collaborative design and operation of cloud and cloud native infrastructure. With over 320 built-in integrations, Meshery seamlessly integrates with every CNCF project and your existing tools, across multiple clouds and Kubernetes clusters.
-mesheryctl perf
mesheryctl pattern
command to mesheryctl design
without losing the core features present. This took me a bit of time as I had to balance my current work as well which caused a bit of inactivity. But I managed to complete it, and I’m proud of doing such great work!
Time: 3:04pm - 3:09pm MST
@@ -58,7 +58,7 @@ Human-Computer Interaction Principles in Meshery:
“It’s the network!” is the cry of every engineer. With the increased prevalence of microservices and distributed systems, it’s true - networking as a discipline has never been more critical in the well-architected design and efficient operation of modern infrastructure. Join this talk for an intro to the TAG, its charter and a deeper discussion of current cloud native networking topics being advanced in this TAG.
Time: 11:55am - 12:30pm MST
@@ -76,7 +76,7 @@ Join the Meshery maintainers and community in improving the leading cloud native
Why Contribute to Meshery? - Gain experience with cloud native technologies, including essentially every CNCF project and open source development practices. As is the 10th fastest growing CNCF project, Meshery has a vibrant community. Work alongside passionate maintainers and contributors. No Prior Experience Needed: We welcome contributions from all levels of experience. Join us at Meshery Contribfest and be part of the growing community shaping the future of collaborative cloud native management.
Time: 4:30pm - 6:00pm MST
diff --git a/src/collections/blog/Blog.style.js b/src/collections/blog/Blog.style.js
index 0a47ce5a84d0..7b9536cf0171 100644
--- a/src/collections/blog/Blog.style.js
+++ b/src/collections/blog/Blog.style.js
@@ -1,5 +1,5 @@
import styled from "styled-components";
-export const BlogWrapper = styled.div`
+const BlogWrapper = styled.div`
color: #000;
.sub-heading {
color: gray;
@@ -444,3 +444,5 @@ code {
}
`;
+
+export default BlogWrapper;
\ No newline at end of file
diff --git a/src/collections/blog/MeetTheMeshMate.style.js b/src/collections/blog/MeetTheMeshMate.style.js
new file mode 100644
index 000000000000..8518c78ae4e6
--- /dev/null
+++ b/src/collections/blog/MeetTheMeshMate.style.js
@@ -0,0 +1,44 @@
+import styled from "styled-components";
+const MeetTheMeshMate = styled.div`
+ div.intro {
+ word-spacing: 0.5rem;
+ }
+ div.interviewer {
+ margin-top: 1rem;
+ text-align: left;
+ span {
+ font-weight: 600;
+ font-style: normal;
+ }
+ }
+ div.interviewee {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ font-style: italic;
+ text-align: left;
+ border-left: 2px solid ${(props) => props.theme.primaryLightColor};
+ padding-left: 2rem;
+ span {
+ font-weight: 600;
+ font-style: normal;
+ }
+ }
+ div.note {
+ margin: 1rem;
+ padding: 2rem;
+ display: flex;
+ border: 1px solid ${(props) => props.theme.primaryLightColor};
+ img {
+ margin-right: 3rem;
+ }
+ }
+ .centered-text {
+ padding-top: 2rem;
+ padding-bottom: 2rem;
+ font-size: 1.2rem;
+ font-weight: 600;
+ }
+`;
+
+export default MeetTheMeshMate;
\ No newline at end of file
diff --git a/src/collections/blog/blog-template/index.mdx b/src/collections/blog/blog-template/index.mdx
index 08b93523f229..6a8102509cde 100644
--- a/src/collections/blog/blog-template/index.mdx
+++ b/src/collections/blog/blog-template/index.mdx
@@ -1,50 +1,50 @@
----
-title: "Lorem Ipsum"
-subtitle: "Lorem Ipsum"
-date: 2020-06-23 10:30:05 -0530
-author: Layer5 Team
-thumbnail: ../../../assets/images/layer5/layer5-only/svg/layer5-black.svg
-darkthumbnail: ../../../assets/images/layer5/layer5-only/svg/layer5-light-bg.svg
-category: "Lorem Ipsum"
-description: "This is a short summary of my blog post. This text will show in the blog's list view and in community newsletters."
-tags:
- - Community
- - Meshery
-type: Blog
-resource: true
-published: false
----
-
-import { BlogWrapper } from "../Blog.style.js";
-import Blockquote from "../../../reusecore/Blockquote";
-import image from "../../../assets/images/layer5/layer5-only/svg/layer5-light-no-trim.svg";
-
-
-About Layer5
@@ -40,7 +38,8 @@ import { Col } from "../../../reusecore/Layout";
Using Istio
-
-
-
-Workshop Labs
-
-See link for self-paced study.
-
-Workshop Slides
-
-
-
-
-Workshop Recording
-
-
-
+---
+title: "IstioCon 2021"
+description: "Kickstart your service mesh journey with Layer5's renowned workshop featuring Meshery, the service mesh manager. Learn the ins and outs of Istio, the popular service mesh, in this hands-on training. "
+date: 2021-02-22
+thumbnail: ./istiocon-logo.svg
+darkthumbnail: ./istiocon-logo.svg
+eurl: https://events.istio.io/istiocon-2021/workshops/using-istio/
+type: Event
+published: true
+upcoming: false
+technology: WebAssembly
+mesh: Istio
+resource: true
+speakers: ["Lee Calcote", "Abishek Kumar"]
+redirect_from:
+ - /community/events/istiocon-2020
+---
+Join Layer5 at the inaugural Istio conference on Monday, Feb. 22nd to Friday, Feb. 26th. IstioCon is a 100% virtual event that is designed to connect community members across the globe with Istio and the Istio ecosystem.
+
+Layer5 will kickoff the event with our renowned service mesh workshop, featuring Meshery, the service mesh manager. Attend our workshop to help you get started with managing your own service mesh!
+
+Using Istio
+
+
+
+Workshop Labs
+
+See link for self-paced study.
+
+Workshop Slides
+
+
+
+
+Workshop Recording
+
+
+
\ No newline at end of file
diff --git a/src/collections/events/2020/kubecon-NA-2020/index.mdx b/src/collections/events/2020/kubecon-NA-2020/index.mdx
index bae51ee50ea1..016ba77e6587 100644
--- a/src/collections/events/2020/kubecon-NA-2020/index.mdx
+++ b/src/collections/events/2020/kubecon-NA-2020/index.mdx
@@ -1,11 +1,11 @@
----
-title: "Kubecon NA 2020"
-description: "View more about this event at KubeCon + CloudNativeCon North America 2020 Virtual"
-date: 2020-11-17
-thumbnail: ./kubeconNA2020.webp
-darkthumbnail: ./kubeconNA2020.webp
-eurl: https://kccncna20.sched.com/event/ekEz/service-mesh-specifications-and-why-they-matter-in-your-deployment-lee-calcote-naveen-kumar-layer5
-type: Event
-published: true
-upcoming: false
----
+---
+title: "Kubecon NA 2020"
+description: "View more about this event at KubeCon + CloudNativeCon North America 2020 Virtual"
+date: 2020-11-17
+thumbnail: ./kubeconNA2020.webp
+darkthumbnail: ./kubeconNA2020.webp
+eurl: https://kccncna20.sched.com/event/ekEz/service-mesh-specifications-and-why-they-matter-in-your-deployment-lee-calcote-naveen-kumar-layer5
+type: Event
+published: true
+upcoming: false
+---
diff --git a/src/collections/events/2020/kubecon-eu-2020/index.mdx b/src/collections/events/2020/kubecon-eu-2020/index.mdx
index 06af25f4547c..35f33ddf4f8e 100644
--- a/src/collections/events/2020/kubecon-eu-2020/index.mdx
+++ b/src/collections/events/2020/kubecon-eu-2020/index.mdx
@@ -1,11 +1,11 @@
----
-title: "KubeCon EU 2020"
-description: "View more about this event at KubeCon + CloudNativeCon Europe 2020"
-date: 2020-04-02
-thumbnail: ./kubecon-europe-2020.webp
-darkthumbnail: ./kubecon-europe-2020.webp
-eurl: https://kccnceu20.sched.com/event/Zetg/discreetly-studying-the-effects-of-individual-traffic-control-functions-lee-calcote-layer5?iframe=no&w=100%&sidebar=yes&bg=no
-type: Event
-published: true
-upcoming: false
----
+---
+title: "KubeCon EU 2020"
+description: "View more about this event at KubeCon + CloudNativeCon Europe 2020"
+date: 2020-04-02
+thumbnail: ./kubecon-europe-2020.webp
+darkthumbnail: ./kubecon-europe-2020.webp
+eurl: https://kccnceu20.sched.com/event/Zetg/discreetly-studying-the-effects-of-individual-traffic-control-functions-lee-calcote-layer5?iframe=no&w=100%&sidebar=yes&bg=no
+type: Event
+published: true
+upcoming: false
+---
diff --git a/src/collections/events/2020/meshery-the-multi-mesh/index.mdx b/src/collections/events/2020/meshery-the-multi-mesh/index.mdx
index eb5a53d9abab..dbd4993e677b 100644
--- a/src/collections/events/2020/meshery-the-multi-mesh/index.mdx
+++ b/src/collections/events/2020/meshery-the-multi-mesh/index.mdx
@@ -1,16 +1,13 @@
----
-title: "Meshery - The Multi-Mesh Manager | KUDO - Kubernetes Operators the Easy Way"
-description: "Get insight on Meshery the Multi-Mesh Manager and KUDO the Kubernetes Operators the Easy Way"
-thumbnail: ./meshery.webp
-darkthumbnail: ./meshery.webp
-date: 2020-04-16
-eurl: https://www.meetup.com/Cloud-Native-Austin/events/267784090/
-type: Meetups
-attribute: [
- {
- name: "Cloud Native Austin",
- url: https://www.meetup.com/Cloud-Native-Austin
- }
-]
-published: true
----
+---
+title: "Meshery - The Multi-Mesh Manager | KUDO - Kubernetes Operators the Easy Way"
+description: "Get insight on Meshery the Multi-Mesh Manager and KUDO the Kubernetes Operators the Easy Way"
+thumbnail: ./meshery.webp
+darkthumbnail: ./meshery.webp
+date: 2020-04-16
+eurl: https://www.meetup.com/Cloud-Native-Austin/events/267784090/
+type: Meetups
+attribute:
+ - name: "Cloud Native Austin"
+ url: https://www.meetup.com/Cloud-Native-Austin
+published: true
+---
diff --git a/src/collections/events/2020/meshery-the-service-mesh-management-plane/index.mdx b/src/collections/events/2020/meshery-the-service-mesh-management-plane/index.mdx
index ad0df242322e..05bcb1aad6ca 100644
--- a/src/collections/events/2020/meshery-the-service-mesh-management-plane/index.mdx
+++ b/src/collections/events/2020/meshery-the-service-mesh-management-plane/index.mdx
@@ -1,16 +1,13 @@
----
-title: "Meshery - the cloud native management plane | KUDO - Kubernetes Operators the Ea"
-description: "Get insight on Meshery the cloud native management plane and KUDO the Kubernetes Operators the Ea"
-thumbnail: ./meshery-logo.webp
-darkthumbnail: ./meshery-logo.webp
-date: 2020-04-16
-eurl: https://www.meetup.com/Docker-Austin/events/270084395/
-type: Meetups
-attribute: [
- {
- name: "Docker Austin",
- url: https://www.meetup.com/Docker-Austin
- }
-]
-published: true
----
+---
+title: "Meshery - the cloud native management plane | KUDO - Kubernetes Operators the Ea"
+description: "Get insight on Meshery the cloud native management plane and KUDO the Kubernetes Operators the Ea"
+thumbnail: ./meshery-logo.webp
+darkthumbnail: ./meshery-logo.webp
+date: 2020-04-16
+eurl: https://www.meetup.com/Docker-Austin/events/270084395/
+type: Meetups
+attribute:
+ - name: "Docker Austin"
+ url: https://www.meetup.com/Docker-Austin
+published: true
+---
diff --git a/src/collections/events/2020/oio/index.mdx b/src/collections/events/2020/oio/index.mdx
index e20df0a5f305..76a87704d5cd 100644
--- a/src/collections/events/2020/oio/index.mdx
+++ b/src/collections/events/2020/oio/index.mdx
@@ -1,11 +1,11 @@
----
-title: "O'Reilly Infrastructure & Ops"
-description: "Transforming our in-person events to online, O'Reilly Infrastructure and Ops"
-date: 2020-06-15
-thumbnail: ./infra-ops.webp
-darkthumbnail: ./infra-ops.webp
-eurl: https://conferences.oreilly.com/infrastructure-ops/io-ca/public/schedule/speaker/226795
-type: Workshop
-resource: true
-published: true
----
+---
+title: "O'Reilly Infrastructure & Ops"
+description: "Transforming our in-person events to online, O'Reilly Infrastructure and Ops"
+date: 2020-06-15
+thumbnail: ./infra-ops.webp
+darkthumbnail: ./infra-ops.webp
+eurl: https://conferences.oreilly.com/infrastructure-ops/io-ca/public/schedule/speaker/226795
+type: Workshop
+resource: true
+published: true
+---
diff --git a/src/collections/events/2020/ois2020/index.mdx b/src/collections/events/2020/ois2020/index.mdx
index c924f16b4726..8a474bbbb152 100644
--- a/src/collections/events/2020/ois2020/index.mdx
+++ b/src/collections/events/2020/ois2020/index.mdx
@@ -1,11 +1,11 @@
----
-title: "Open Infrastructure Summit 2020"
-description: "Collaborate directly with the people building and running open source infrastructure using Linux, OpenStack, Kubernetes and 30+ other technologies."
-date: 2020-10-21
-thumbnail: ./ois2020.webp
-darkthumbnail: ./ois2020.webp
-eurl: https://summit.openinfra.dev/
-type: Event
-published: true
-
----
+---
+title: "Open Infrastructure Summit 2020"
+description: "Collaborate directly with the people building and running open source infrastructure using Linux, OpenStack, Kubernetes and 30+ other technologies."
+date: 2020-10-21
+thumbnail: ./ois2020.webp
+darkthumbnail: ./ois2020.webp
+eurl: https://summit.openinfra.dev/
+type: Event
+published: true
+
+---
diff --git a/src/collections/events/2020/oscon2020/index.mdx b/src/collections/events/2020/oscon2020/index.mdx
index d3cad1056e45..1f6bee6468a6 100644
--- a/src/collections/events/2020/oscon2020/index.mdx
+++ b/src/collections/events/2020/oscon2020/index.mdx
@@ -1,11 +1,11 @@
----
-title: "O'Reilly OSCON 2020"
-description: "Conferences - O'Reilly Media"
-date: 2020-07-13
-thumbnail: ./oscon.webp
-darkthumbnail: ./oscon.webp
-eurl: https://www.oreilly.com/conferences/
-type: Workshop
-resource: true
-published: true
----
+---
+title: "O'Reilly OSCON 2020"
+description: "Conferences - O'Reilly Media"
+date: 2020-07-13
+thumbnail: ./oscon.webp
+darkthumbnail: ./oscon.webp
+eurl: https://www.oreilly.com/conferences/
+type: Workshop
+resource: true
+published: true
+---
diff --git a/src/collections/events/2020/securing-the-mesh/index.mdx b/src/collections/events/2020/securing-the-mesh/index.mdx
index 167082538b1f..5277815de3cf 100644
--- a/src/collections/events/2020/securing-the-mesh/index.mdx
+++ b/src/collections/events/2020/securing-the-mesh/index.mdx
@@ -1,20 +1,15 @@
----
-title: "Securing the Mesh"
-description: "Learn how to Secure your Mesh"
-thumbnail: ./securing-mesh.webp
-darkthumbnail: ./securing-mesh.webp
-date: 2020-06-16
-eurl: https://www.meetup.com/Cloud-Native-Austin/events/267785376/
-type: Meetups
-attribute: [
- {
- name: "Docker Austin",
- url: https://www.meetup.com/Docker-Austin
- },
- {
- name: "Cloud Native Austin",
- url: https://www.meetup.com/Cloud-Native-Austin
- }
-]
-published: true
----
+---
+title: "Securing the Mesh"
+description: "Learn how to Secure your Mesh"
+thumbnail: ./securing-mesh.webp
+darkthumbnail: ./securing-mesh.webp
+date: 2020-06-16
+eurl: https://www.meetup.com/Cloud-Native-Austin/events/267785376/
+type: Meetups
+attribute:
+ - name: "Docker Austin"
+ url: https://www.meetup.com/Docker-Austin
+ - name: "Cloud Native Austin"
+ url: https://www.meetup.com/Cloud-Native-Austin
+published: true
+---
diff --git a/src/collections/events/2020/service-meshes-but-at-what-cost/index.mdx b/src/collections/events/2020/service-meshes-but-at-what-cost/index.mdx
index f5fa199dbf07..599b5ba05cc0 100644
--- a/src/collections/events/2020/service-meshes-but-at-what-cost/index.mdx
+++ b/src/collections/events/2020/service-meshes-but-at-what-cost/index.mdx
@@ -1,20 +1,15 @@
----
-title: "Service Meshes, but at What Cost?"
-description: "Get insight on Service Mesh at Cloud Native Austin"
-thumbnail: ./service-mesh.webp
-darkthumbnail: ./service-mesh.webp
-date: 2020-09-17
-eurl: https://www.meetup.com/Cloud-Native-Austin/events/267784462/
-type: Meetups
-attribute: [
- {
- name: "Docker Austin",
- url: https://www.meetup.com/Docker-Austin
- },
- {
- name: "Cloud Native Austin",
- url: https://www.meetup.com/Cloud-Native-Austin
- }
-]
-published: true
----
+---
+title: "Service Meshes, but at What Cost?"
+description: "Get insight on Service Mesh at Cloud Native Austin"
+thumbnail: ./service-mesh.webp
+darkthumbnail: ./service-mesh.webp
+date: 2020-09-17
+eurl: https://www.meetup.com/Cloud-Native-Austin/events/267784462/
+type: Meetups
+attribute:
+ - name: "Docker Austin"
+ url: https://www.meetup.com/Docker-Austin
+ - name: "Cloud Native Austin"
+ url: https://www.meetup.com/Cloud-Native-Austin
+published: true
+---
diff --git a/src/collections/events/2020/servicemeshcon-NA-2020/index.mdx b/src/collections/events/2020/servicemeshcon-NA-2020/index.mdx
index 86b62d060a10..6dc18c362fa3 100644
--- a/src/collections/events/2020/servicemeshcon-NA-2020/index.mdx
+++ b/src/collections/events/2020/servicemeshcon-NA-2020/index.mdx
@@ -1,11 +1,11 @@
----
-title: "ServiceMeshCon NA 2020"
-description: "Vendor-neutral conference on service mesh technologies: getting started with and adopting a mesh, lessons learned from production deployments & technical sessions from maintainers."
-date: 2020-11-17
-thumbnail: ./servicemeshcon.webp
-darkthumbnail: ./servicemeshcon.webp
-eurl: https://events.linuxfoundation.org/servicemeshcon-north-america/
-type: Event
-published: true
-upcoming: false
----
+---
+title: "ServiceMeshCon NA 2020"
+description: "Vendor-neutral conference on service mesh technologies: getting started with and adopting a mesh, lessons learned from production deployments & technical sessions from maintainers."
+date: 2020-11-17
+thumbnail: ./servicemeshcon.webp
+darkthumbnail: ./servicemeshcon.webp
+eurl: https://events.linuxfoundation.org/servicemeshcon-north-america/
+type: Event
+published: true
+upcoming: false
+---
diff --git a/src/collections/events/2021/ccoss-meshery-workshop/index.mdx b/src/collections/events/2021/ccoss-meshery-workshop/index.mdx
index bd2fabde3cd5..44c7fb6f4852 100644
--- a/src/collections/events/2021/ccoss-meshery-workshop/index.mdx
+++ b/src/collections/events/2021/ccoss-meshery-workshop/index.mdx
@@ -1,14 +1,14 @@
----
-title: "CCOSS Meshery Workshop 2021"
-description: "Explore the world of service meshes with our workshop, where we provide an introduction to Meshery and delve into the essentials of Service Mesh technology with CCOSS Meshery Workshop."
-date: 2021-10-04
-thumbnail: ./ccoss.jpeg
-darkthumbnail: ./ccoss.jpeg
-eurl: https://ccoss.org/sessions/2021/taller-contribucion-meshery/
-type: Workshop
-product: Meshery
-resource: true
-published: true
-speakers: ["Alonso Lopez","Rodolfo Martinez Vega"]
----
-
-
- Solving the Service Mesh Adopter’s Dilemma
-
-
-
-
-
-
-- Presentation Slides
-
-
-
- CNCF TAG Network and Service Mesh Working Group
-
-
-
-
-
-
-- Presentation Slides
-
-Meshery Project Office Hours
-
-
-
-
-
-
-Service Mesh Performance Project Office Hours
-
-
-
-
-
-
-致力于解决服务网格使用中碰到的棘手问题
-
-
-
-
-- Presentation Slides
-
-
-CNCF TAG Network and Service Mesh Working Group
-
-
-
-
-- Presentation Slides
-
-
-Meshery Project Office Hours
-
-
-
-
-Service Mesh Performance Project Office Hours
-
-
-
-
+---
+title: "KubeCon China 2021"
+description: "Learn about different service meshes, their functionalities, and how Meshery, an open-source multi-service mesh management plane, facilitates benchmarking and configuration scenarios. "
+date: 2021-12-09
+thumbnail: ./kubeconchina2021.webp
+darkthumbnail: ./kubeconchina2021.webp
+eurl: https://www.lfasiallc.com/kubecon-cloudnativecon-open-source-summit-china/
+type: Event
+Talk Description: CNCF TAG Network and Service Mesh Working Group
+Talk Link: https://kccncosschn21.sched.com/event/pcYk/cncf-tag-jie-zhang-re-jie-yuan-cncf-tag-network-and-service-mesh-working-group-lee-calcote-layer5-ed-warnicke-cisco-ken-owens-fiserv?iframe=no
+published: true
+featured: true
+upcoming: false
+product: Meshery
+resource: true
+# Deck: N/A
+# Video: N/A
+---
+
+import slidesTAG from "./cncf-tag-network-and-service-mesh-working-group-kubecon-china-2021-lee-calcote-ken-owens_compressed.pdf";
+import slidesAdopt from "./solving-the-service-mesh-adopters-dilemma-anita-ihuman-kubecon-china-2021_compressed.pdf";
+
+
+
+
+ Solving the Service Mesh Adopter’s Dilemma
+
+
+
+
+
+
+- Presentation Slides
+
+
+
+ CNCF TAG Network and Service Mesh Working Group
+
+
+
+
+
+
+- Presentation Slides
+
+Meshery Project Office Hours
+
+
+
+
+
+
+Service Mesh Performance Project Office Hours
+
+
+
+
+
+
+致力于解决服务网格使用中碰到的棘手问题
+
+
+
+
+- Presentation Slides
+
+
+CNCF TAG Network and Service Mesh Working Group
+
+
+
+
+- Presentation Slides
+
+
+Meshery Project Office Hours
+
+
+
+
+Service Mesh Performance Project Office Hours
+
+
+
+
diff --git a/src/collections/events/2021/kubecon-china-2021/solving-the-service-mesh-adopters-dilemma-anita-ihuman-kubecon-china-2021_compressed.pdf b/src/collections/events/2021/kubecon-china-2021/solving-the-service-mesh-adopters-dilemma-anita-ihuman-kubecon-china-2021_compressed.pdf
new file mode 100644
index 000000000000..8ba2aedded3e
Binary files /dev/null and b/src/collections/events/2021/kubecon-china-2021/solving-the-service-mesh-adopters-dilemma-anita-ihuman-kubecon-china-2021_compressed.pdf differ
diff --git a/src/collections/events/2021/kubecon2021-na-smp/layer5- solving-the-service-mesh-adopters-dilemma_compressed.pdf b/src/collections/events/2021/kubecon2021-na-smp/layer5- solving-the-service-mesh-adopters-dilemma_compressed.pdf
new file mode 100644
index 000000000000..fc95a78aec73
Binary files /dev/null and b/src/collections/events/2021/kubecon2021-na-smp/layer5- solving-the-service-mesh-adopters-dilemma_compressed.pdf differ
diff --git a/src/collections/events/2022/devconf-2022-measure-smp/index.mdx b/src/collections/events/2022/devconf-2022-measure-smp/index.mdx
index e91d507d7905..8e9526373f09 100644
--- a/src/collections/events/2022/devconf-2022-measure-smp/index.mdx
+++ b/src/collections/events/2022/devconf-2022-measure-smp/index.mdx
@@ -1,114 +1,114 @@
----
-title: "DEVCONF 2022"
-description: "Join Layer5 at DevConf.cz 2022 for insightful talks on CNCF projects Meshery and Service Mesh Performance. Dive into 'Measuring Service Mesh Performance 101' to explore the intricacies of benchmarking service meshes and workload performance."
-date: 2022-01-29
-thumbnail: ./devConf22.webp
-darkthumbnail: ./devConf22.webp
-eurl: https://sched.co/siKF
-type: Event
-event-category: talk
-published: true
-featured: true
-product: Meshery
-resource: true
-upcoming: false
-# Deck: N/A
-# Video: N/A
----
-
-import { Link } from "gatsby";
-
-
-
-
- Talk:{" "}
- Measuring Service Mesh Performance 101
-
-
-
-
-
-
-
-This talk answers these questions by empowering attendees with at-hand tooling for continual evaluation of their service mesh environment and a reflection of how service mesh deployment models affect performance.
-
-
-
-Speakers:
-
-
-
-
-
-
-
-
-
- Talk:{" "}
-
- {" "}
- Journey Into the World of Service Meshes and Meshery
-
-
-
-
-
-Let’s talk about:
-
-Benefits to the ecosystem:
-
-
-
+---
+title: "DEVCONF 2022"
+description: "Join Layer5 at DevConf.cz 2022 for insightful talks on CNCF projects Meshery and Service Mesh Performance. Dive into 'Measuring Service Mesh Performance 101' to explore the intricacies of benchmarking service meshes and workload performance."
+date: 2022-01-29
+thumbnail: ./devConf22.webp
+darkthumbnail: ./devConf22.webp
+eurl: https://sched.co/siKF
+type: Event
+event-category: talk
+published: true
+featured: true
+product: Meshery
+resource: true
+upcoming: false
+# Deck: N/A
+# Video: N/A
+---
+
+
+
+
+
+
+ Talk:{" "}
+ Measuring Service Mesh Performance 101
+
+
+
+
+
+
+
+This talk answers these questions by empowering attendees with at-hand tooling for continual evaluation of their service mesh environment and a reflection of how service mesh deployment models affect performance.
+
+
+
+Speakers:
+
+
+
+
+
+
+
+
+
+ Talk:{" "}
+
+ {" "}
+ Journey Into the World of Service Meshes and Meshery
+
+
+
+
+
+Let’s talk about:
+
+Benefits to the ecosystem:
+
+
+
diff --git a/src/collections/events/2022/devops-and-docker-live/index.mdx b/src/collections/events/2022/devops-and-docker-live/index.mdx
index 2c0e71c330fc..f90ee5de8347 100644
--- a/src/collections/events/2022/devops-and-docker-live/index.mdx
+++ b/src/collections/events/2022/devops-and-docker-live/index.mdx
@@ -1,23 +1,23 @@
----
-title: "DevOps and Docker Live Show"
-description: "Join Bret Fisher, Lee Calcote from Layer5, and Nic Jackson from HashiCorp on the DevOps and Docker Live Show. Witness the Meshery Docker Extension in action as it transforms Docker Desktop into a robust cloud-native infrastructure development environment."
-thumbnail: ./docker-and-meshery-live-show.webp
-darkthumbnail: ./docker-and-meshery-live-show.webp
-date: 2022-09-22
-eurl: https://www.youtube.com/watch?v=FkwD2icthXM
-type: Event
-product: Meshery
-technology: Docker
-resource: true
-speakers: ["Lee Calcote", "Nic Jackson", "Bret Fisher"]
-published: true
-upcoming: false
----
-
-import { Link } from "gatsby" ;
-
-Join host Bret Fisher and guests Lee Calcote from Layer5 and Nic Jackson from HashiCorp at DevOps and Docker Live Show to see the Meshery Docker Extension in-action! Design and deploy your Docker Compose and Kubernetes apps on Docker Desktop or any remote cluster.
-
-The Meshery extension transforms Docker Desktop into powerful cloud native infrastructure development environment in a box with Kubernetes and service mesh. Learn how to discover and model your cloud native deployments with Kanvas. Kanvas enables GitOps integrated, visual composition of your cloud native infrastructure.
-
-Can’t wait to get your hands on Docker Desktop for Meshery in the meantime? Sign up and learn all about the Meshery Docker Extension to make the most out of it.
+---
+title: "DevOps and Docker Live Show"
+description: "Join Bret Fisher, Lee Calcote from Layer5, and Nic Jackson from HashiCorp on the DevOps and Docker Live Show. Witness the Meshery Docker Extension in action as it transforms Docker Desktop into a robust cloud-native infrastructure development environment."
+thumbnail: ./docker-and-meshery-live-show.webp
+darkthumbnail: ./docker-and-meshery-live-show.webp
+date: 2022-09-22
+eurl: https://www.youtube.com/watch?v=FkwD2icthXM
+type: Event
+product: Meshery
+technology: Docker
+resource: true
+speakers: ["Lee Calcote", "Nic Jackson", "Bret Fisher"]
+published: true
+upcoming: false
+---
+
+
+
+Join host Bret Fisher and guests Lee Calcote from Layer5 and Nic Jackson from HashiCorp at DevOps and Docker Live Show to see the Meshery Docker Extension in-action! Design and deploy your Docker Compose and Kubernetes apps on Docker Desktop or any remote cluster.
+
+The Meshery extension transforms Docker Desktop into powerful cloud native infrastructure development environment in a box with Kubernetes and service mesh. Learn how to discover and model your cloud native deployments with Kanvas. Kanvas enables GitOps integrated, visual composition of your cloud native infrastructure.
+
+Can’t wait to get your hands on Docker Desktop for Meshery in the meantime? Sign up and learn all about the Meshery Docker Extension to make the most out of it.
diff --git a/src/collections/events/2022/docker-community-meetup-2022-hacktoberfest/index.mdx b/src/collections/events/2022/docker-community-meetup-2022-hacktoberfest/index.mdx
index dbd7592353f7..06f9afbafa78 100644
--- a/src/collections/events/2022/docker-community-meetup-2022-hacktoberfest/index.mdx
+++ b/src/collections/events/2022/docker-community-meetup-2022-hacktoberfest/index.mdx
@@ -1,51 +1,51 @@
----
-title: "Hacktoberfest 2022: Docker Extensions Show-n-Tell"
-description: "Join Layer5 in person at the Docker Community Meetup in Bengaluru as we unveil the Meshery Docker Extension and demonstrate how it revolutionizes the management of cloud-native applications. Explore the Meshery Docker Extension with a deep dive into its basic concepts, architecture, and components"
-date: 2022-10-22
-thumbnail: ./dockerBengaluru.webp
-darkthumbnail: ./dockerBengaluru.webp
-eurl: https://www.meetup.com/docker-bangalore/events/288597531/
-type: Meetups
-event-category: talk
-published: true
-featured: true
-product: Meshery Extensions
-resource: true
-upcoming: false
-# Deck: N/A
-# Video: N/A
----
-
-import { Link } from "gatsby";
-
-Take the Blinders off with Meshery Docker Extension
-
-
-
-
-
-Speakers:
-
-
-
-
-
+---
+title: "Hacktoberfest 2022: Docker Extensions Show-n-Tell"
+description: "Join Layer5 in person at the Docker Community Meetup in Bengaluru as we unveil the Meshery Docker Extension and demonstrate how it revolutionizes the management of cloud-native applications. Explore the Meshery Docker Extension with a deep dive into its basic concepts, architecture, and components"
+date: 2022-10-22
+thumbnail: ./dockerBengaluru.webp
+darkthumbnail: ./dockerBengaluru.webp
+eurl: https://www.meetup.com/docker-bangalore/events/288597531/
+type: Meetups
+event-category: talk
+published: true
+featured: true
+product: Meshery Extensions
+resource: true
+upcoming: false
+# Deck: N/A
+# Video: N/A
+---
+
+
+
+Take the Blinders off with Meshery Docker Extension
+
+
+
+
+
+Speakers:
+
+
+
+
+
diff --git a/src/collections/events/2022/docker-developer-community-meetup-2022/index.mdx b/src/collections/events/2022/docker-developer-community-meetup-2022/index.mdx
index 8fdfb1e63e5b..e2f999c0078b 100644
--- a/src/collections/events/2022/docker-developer-community-meetup-2022/index.mdx
+++ b/src/collections/events/2022/docker-developer-community-meetup-2022/index.mdx
@@ -1,54 +1,53 @@
----
-title: "Composing Cloud Native Infrastructure with Docker Desktop and Meshery"
-description: "Unlock the potential of your microservices development with the Meshery Docker Extension. Join speakers Aditya Krishna Sharma and Karthik Ravishankar as they showcase the extension's ability to import Docker Compose apps, seamlessly convert them to Kubernetes applications, and deploy them on any service mesh."
-date: 2022-06-11
-thumbnail: ./dockerBengaluru.webp
-darkthumbnail: ./dockerBengaluru.webp
-eurl: https://www.meetup.com/Docker-Bangalore/events/285342797/
-type: Meetups
-event-category: talk
-published: true
-featured: true
-product: Meshery Extensions
-resource: true
-upcoming: false
-# Deck: N/A
-# Video: N/A
----
-
-import { Link } from "gatsby";
-
-Composing Cloud Native Infrastructure with Docker Desktop and Meshery
-
-
-
-
-
-This talk can help the attendees to improve upon their K8s or Docker deployments as well as help them in managing different service meshes simultaneously. I have a pretty basic knowledge of cloud native stuff having worked with Kubernetes, Docker, Helm, and using some of the service meshes, trying them out for different stuff or applications. I have been using Docker Desktop for the past year and a half. I’m also a maintainer of Meshery and have contributed to several other open source projects.
-
-
-
-Speakers:
-
-
-
-
-
+---
+title: "Composing Cloud Native Infrastructure with Docker Desktop and Meshery"
+description: "Unlock the potential of your microservices development with the Meshery Docker Extension. Join speakers Aditya Krishna Sharma and Karthik Ravishankar as they showcase the extension's ability to import Docker Compose apps, seamlessly convert them to Kubernetes applications, and deploy them on any service mesh."
+date: 2022-06-11
+thumbnail: ./dockerBengaluru.webp
+darkthumbnail: ./dockerBengaluru.webp
+eurl: https://www.meetup.com/Docker-Bangalore/events/285342797/
+type: Meetups
+event-category: talk
+published: true
+featured: true
+product: Meshery Extensions
+resource: true
+upcoming: false
+# Deck: N/A
+# Video: N/A
+---
+
+
+
+Composing Cloud Native Infrastructure with Docker Desktop and Meshery
+
+
+
+
+
+This talk can help the attendees to improve upon their K8s or Docker deployments as well as help them in managing different service meshes simultaneously. I have a pretty basic knowledge of cloud native stuff having worked with Kubernetes, Docker, Helm, and using some of the service meshes, trying them out for different stuff or applications. I have been using Docker Desktop for the past year and a half. I’m also a maintainer of Meshery and have contributed to several other open source projects.
+
+
+
+Speakers:
+
+
+
+
+
diff --git a/src/collections/events/2022/dockercon-2022/lighting-talk-in-a-dedicated-community-room.mdx b/src/collections/events/2022/dockercon-2022/lighting-talk-in-a-dedicated-community-room.mdx
index ec89f7e35efe..423b1a25454b 100644
--- a/src/collections/events/2022/dockercon-2022/lighting-talk-in-a-dedicated-community-room.mdx
+++ b/src/collections/events/2022/dockercon-2022/lighting-talk-in-a-dedicated-community-room.mdx
@@ -1,27 +1,27 @@
----
-title: "DockerCon 2022: Lighting Talk in a dedicated community room"
-description: "Discover how HPE Security Engineering achieves workload identity and attestation across all service meshes with the Meshery Docker Extension. Leveraging this extension, HPE tests the performance of their SPIFFE and SPIRE-based identity solution on their service mesh of choice."
-thumbnail: ./HPE.webp
-darkthumbnail: ./HPE.webp
-date: 2022-05-10
-eurl: https://docker.events.cube365.net/dockercon/2022
-type: Event
-product: Meshery
-technology: Docker
-resource: true
-speakers: ["Lee Calcote", "Maximiliano Churichi"]
-published: true
-upcoming: false
----
-
-import { Link } from "gatsby" ;
-
-With a goal to bring workload identity and attestation to all service meshes, HPE Security Engineering uses the Docker Desktop Extension for Meshery to deploy their service mesh of choice and test the performance of their SPIFFE and SPIRE-based identity solution.
-
-The Meshery extension transforms Docker Desktop into powerful load generation utility, conveniently enables HPE engineers with the ability to deploy and configure any service mesh with a click of the button and invoke and control load-based performance tests from their desktop.
-
-Can’t wait to get your hands on Docker Desktop for Meshery in the meantime? Sign up for our beta program to get early access!
-
-CNCF Tag Network and Service mesh Working Group Deep Dive
-CNCF Tag Network and Service mesh Working Group Deep Dive
+
Time: 4:30 - 5:05 pm ET
diff --git a/src/collections/events/2022/ossna-2022/index.mdx b/src/collections/events/2022/ossna-2022/index.mdx
index 30d3893dc967..2b192d9c0fc5 100644
--- a/src/collections/events/2022/ossna-2022/index.mdx
+++ b/src/collections/events/2022/ossna-2022/index.mdx
@@ -1,26 +1,26 @@
----
-title: 'Open Source Summit North America 2022'
-description: 'Explore open source with MeshMates, a mentorship program by Layer5. Designed to help new contributors, especially students, MeshMates offer personalized, one-on-one guidance, making open source participation accessible and enjoyable.'
-date: 2022-06-24
-thumbnail: ./oss-na-2022.webp
-darkthumbnail: ./oss-na-2022.webp
-eurl: https://events.linuxfoundation.org/open-source-summit-north-america/
-type: Event
-published: true
-upcoming: false
-feature: true
-speakers: ['Shivay Lamba']
----
-
-import { Link } from 'gatsby';
-
-MeshMates: A New Way of Expanding Open Source Community Mentorship
-
-A lot of young developers especially college students who want to contribute to open source projects feel intimidated by the lack of experience and the size of the code. For a beginner, open source projects codebase can be intimidating at first. Traditionally they may contact community members or mentors to help them understand but it is not always the most effective solution.
-
-Therefore Layer5 ( a CNCF member company) introduced a program called Meshmates. MeshMates who are members part of the Layer5 community, provide one to one mentorship to new joiners in the community, from helping them identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge.
-
-MeshMates: A New Way of Expanding Open Source Community Mentorship
+
+A lot of young developers especially college students who want to contribute to open source projects feel intimidated by the lack of experience and the size of the code. For a beginner, open source projects codebase can be intimidating at first. Traditionally they may contact community members or mentors to help them understand but it is not always the most effective solution.
+
+Therefore Layer5 ( a CNCF member company) introduced a program called Meshmates. MeshMates who are members part of the Layer5 community, provide one to one mentorship to new joiners in the community, from helping them identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge.
+
+MeshMark: Service Mesh Value Measurement
-Participating Organizations
-MeshMark: Service Mesh Value Measurement
+Participating Organizations
+Multiplayer Istio: Collaborative WASM Plugins with Intel and Layer5
-
-Multiplayer Istio: Collaborative WASM Plugins with Intel and Layer5
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+Multiplayer Kubernetes: GitOps with Friends
+---
+title: "KCD Chennai 2023"
+description: "Discover how Meshery transforms orchestration across multiple environments, leveraging GitOps principles and fostering multi-user collaboration. Join us for an insightful session at KCD Chennai 2023!"
+date: 2023-07-22
+thumbnail: ./kcd_chennai.webp
+darkthumbnail: ./kcd_chennai.webp
+eurl: https://www.kcdchennai.in/
+type: Event
+published: true
+product: Kanvas, Meshery
+resource: true
+upcoming: false
+speakers: ["Pranav Singh"]
+---
+
+
+Multiplayer Kubernetes: GitOps with Friends
Kickstarting Open Source with Layer5
-Kickstarting Open Source with Layer5
+CNCF Tag Network and Service mesh Working Group Deep Dive
-CNCF Tag Network and Service mesh Working Group Deep Dive
+