- 47
- 114 726
zz TALK
United States
เข้าร่วมเมื่อ 13 ม.ค. 2021
Hello, welcome to zTALK! Z is here, and I am all about sharing my experience to help you learn DevOps topics easily.
I create new videos based on the projects that I work on. In each video, I will include the concept explanation and hands-on lab to help you 10X your results.
Hit that SUBSCRIBE button and we'll see you in the comments!!
--ABOUT--
I am a DevOps engineer based in the bay area, CA. I'd like to share my experience in different technologies based on the issues I run into while I work on my projects as feedback and appreciation to the communities. Hopefully, my video will help you one way or another.
Have fun watching my videos!!
I create new videos based on the projects that I work on. In each video, I will include the concept explanation and hands-on lab to help you 10X your results.
Hit that SUBSCRIBE button and we'll see you in the comments!!
--ABOUT--
I am a DevOps engineer based in the bay area, CA. I'd like to share my experience in different technologies based on the issues I run into while I work on my projects as feedback and appreciation to the communities. Hopefully, my video will help you one way or another.
Have fun watching my videos!!
Tips & Tricks: Improve productivity for filesystem navigation via Autojump
Autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line.
Source Code: github.com/wting/autojump
Source Code: github.com/wting/autojump
มุมมอง: 254
วีดีโอ
Terraform 13 - Manage Terraform State with PostgresDB, AWS S3 & DynamoDB and Azure Blob
มุมมอง 278ปีที่แล้ว
This session talked about some best practices of managing Terraform state files and demo'ed through configurations of remote backend. Timestamps: 0:00 - Best Practice of managing Terraform State 05:30 - Demo part 1: Configure Postgres as remote backend 16:11 - Demo part 2: Configure S3 and DynamoDB as remote backend 19:46 - Demo part 3: Limitation with Terraform's remote backend and fix 37:33 -...
Tomcat Performance Tuning
มุมมอง 4.3K2 ปีที่แล้ว
This demo walked you through some common performance tuning practices against Apache Tomcat. Performance tuning reference: stackoverflow.com/questions/68810106/fastest-connection-for-tomcat-9-0-in-2021-nio-or-apr cdmana.com/2021/03/20210328051519045R.html Timestamps: 0:00 - Tomcat basics 16:12 - Demo part 1: Demo app deployment 22:55 - Demo part 2: Authentication & Authorization 26:31 - Demo pa...
Redis latency load testing with JMeter
มุมมอง 1K2 ปีที่แล้ว
This demo walked you through a JMeter test plan to test the latency between publisher and subscriber on Redis. JMeter configuration: github.com/zzhao2010/zzTalk-jmeter-kafka #zztalk #performancetest #jmeter
ArgoCD - Continuous Deployment Solution for Kubernetes
มุมมอง 8322 ปีที่แล้ว
We discussed about the best practices of GitOps for building CI/CD pipeline, introduced a cool CD solution for deployment on Kubernetes and demo'ed to build CI/CD pipelines from scratch. The repos for the 2 sample pipelines in the video: 1. gitlab.com/zzhao2010/zztalk-argocd 2. gitlab.com/zzhao2010/zztalk-argocd_demo_app Documentation: argo-cd.readthedocs.io/en/stable/ The fix regarding the doc...
Performance Testing Solution K6 & Integration with InfluxDB, Grafana and Jenkins.
มุมมอง 3.1K2 ปีที่แล้ว
This video introduced a performance testing solution K6. The demo covers an use case of integration with InfluxDB and Grafana for providing good presentation layer and also an use case of automation by creating CI/CD pipeline on Jenkins. Here is the link to the demo repository: gitlab.com/zzhao2010/zztalk-k6 Here is the link to my other videos that I mentioned: GitLab CI Series: th-cam.com/vide...
Apache Kafka load testing with JMeter
มุมมอง 11K2 ปีที่แล้ว
This demo talked about how to configure JMeter to load test Apache Kafka. Github link to my JMeter configuration: github.com/zzhao2010/zzTalk-jmeter-kafka Docs: kafka.apache.org/documentation/#consumerapi jar-download.com/?search_box=kafka-clients codyaray.com/2014/07/custom-jmeter-samplers-and-config-elements www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter Timestamp: 0:00 - I...
Kubernetes Administration 02 - Taints, Tolerations & Node Affinity -- Assign PODs to specific nodes
มุมมอง 7392 ปีที่แล้ว
In this video, we discussed about scheduling on Kubernetes. More specifically, how do we use Taints, Tolerations and Node Affinity for use cases. #zzTalk #k8s #kubernetesadmin #podscheduling
Tips & Tricks: Improve productivity via Alfred Workflows for MacOS
มุมมอง 1.3K2 ปีที่แล้ว
This video is to share with you some great workflows on Alfred to improve your productivity on MacOS. Here is the Github repo to download the workflows: github.com/zzhao2010/alfred_workflows #zzTalk #alfred #macos #productivity
Tips & Tricks: Enable/Disable JS in a sec on Chrome
มุมมอง 792 ปีที่แล้ว
This video is to show you how to enable/disable JavaScript real quick on Chrome for web development. #chrome #zzTalk
Tips & Tricks: Visual Studio Code High Contrast Color Theme Optimization
มุมมอง 1.6K2 ปีที่แล้ว
This video is to show you some tricks on tweaking your VSC. #visualstudiocode #zzTalk #tips&tricks
Deploy Elastic Stack via ECK on Kubernetes
มุมมอง 3.9K2 ปีที่แล้ว
In this video, I'd like to walk you through from building up a k8s cluster via Vagrant to deploy Elasticsearch & Kibana via ECK on the k8s cluster. The demo code repo: github.com/zzhao2010/zzTalk-eck-k8s bitbucket.org/exxsyseng/k8s_ubuntu/src/master/ Timestamp: 0:00 - Intro 7:11 - Demo overview 10:58 - Vagrant to build up k8s cluster 42:48 - Deploy ECK in your k8s cluster 45:02 - Deploy ELK sta...
Kafka Administration, Operation & Monitoring 02 -- Kafka Programming
มุมมอง 1.1K3 ปีที่แล้ว
This video demo'ed how do we build Kafka producer & consumer in Java. Documentation: kafka.apache.org/documentation/ Timestamp: 0:00 - Intro 01:10 - Create producer 26:30 - Add logging to producer 35:51 - Create consumer #zzTalk #kafka #java
Kafka Administration, Operation & Monitoring 01 -- Kafka Basics & CLI
มุมมอง 4.7K3 ปีที่แล้ว
This video went through the fundamentals of Kafka and demo'ed how do we create a Kafka topic and produce/consume messages to/from a topic via Kafka CLI. Documentation: kafka.apache.org/downloads Timestamp: 0:00 - Kafka fundamentals 25:30 - Demo Kafka CLI 31:20 - Create Kafka topics 40:38 - Kafka producer 47:11 - Kafka consumer 50:59 - Kafka consumer group 01:00:35 - Producer with keys #kafka #z...
Kubernetes 01 - Kubernetes Administration -- Deploy & Upgrade k8s on AWS via KOPS
มุมมอง 6643 ปีที่แล้ว
This session introduced 2 common ways of running Kubernetes cluster on public cloud, and I also compared the differences between managing k8s cluster via kops and running k8s on EKS (AWS CaaS solution). In the demo, I walked you through step by step how do we deploy and upgrade k8s via Kops CLI. Timestamp: 0:00 - Intro 5:25 - Kops vs CaaS. 8:53 - Demo of deploying k8s cluster on AWS via kops 9:...
Terraform 12 - Deploy ELK stack, Configure Nginx reverse proxy & Route 53 on AWS
มุมมอง 1.6K3 ปีที่แล้ว
Terraform 12 - Deploy ELK stack, Configure Nginx reverse proxy & Route 53 on AWS
Terraform 11 - Deploy ELK (ElasticSearch, Logstash & Kibana) stack on AWS via Terraform
มุมมอง 4.9K3 ปีที่แล้ว
Terraform 11 - Deploy ELK (ElasticSearch, Logstash & Kibana) stack on AWS via Terraform
Terraform 10 - Deploy Elastic Kubernetes Service (EKS) via Terraform continued
มุมมอง 1.1K3 ปีที่แล้ว
Terraform 10 - Deploy Elastic Kubernetes Service (EKS) via Terraform continued
Terraform 09 - Deploy Elastic Kubernetes Service (EKS) via Terraform
มุมมอง 2.8K3 ปีที่แล้ว
Terraform 09 - Deploy Elastic Kubernetes Service (EKS) via Terraform
Build multiple custom docker images for Jenkins, MySQL & Ansible via Docker-compose 05
มุมมอง 4343 ปีที่แล้ว
Build multiple custom docker images for Jenkins, MySQL & Ansible via Docker-compose 05
Taurus - open source performance test automation solution
มุมมอง 1.9K3 ปีที่แล้ว
Taurus - open source performance test automation solution
Create Ansible Role for running Jaeger components as systemd service
มุมมอง 2413 ปีที่แล้ว
Create Ansible Role for running Jaeger components as systemd service
GitLab CI pipeline - 03 - Deployment & Testing Spring Boot app on AWS Elastic Beanstalk
มุมมอง 2.7K3 ปีที่แล้ว
GitLab CI pipeline - 03 - Deployment & Testing Spring Boot app on AWS Elastic Beanstalk
Infrastructure as Code (IaC) - Configuration Automation - Ansible 01
มุมมอง 8273 ปีที่แล้ว
Infrastructure as Code (IaC) - Configuration Automation - Ansible 01
Build your own distributed tracing solution - Jaeger
มุมมอง 2.2K3 ปีที่แล้ว
Build your own distributed tracing solution - Jaeger
Helm 02 - Create Chart template from scratch
มุมมอง 2323 ปีที่แล้ว
Helm 02 - Create Chart template from scratch
Thank You zz. It was an amazing content. Keep making more videos about solving the real time challenges being faced by architects to produce robust solutions. You have a new subscriber :)
Does this work for MS-Teams Workflow ?
Beautiful!
why didnt you use the user-data to do the installation of elasticsearch and the logstash?
Thank You very much.
very poor video quality - all is blurred
👏
Thanks for your nice video and guidelines. FYI, I am getting Prometheus data from Thanos. However, backup data does not upload into S3. How long it takes time to upload into S3? Could you please check my logs? Here, is my Thanos-sidecar log. $ kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 -c thanos-sidecar --kubeconfig=sandbox.yaml -n monitoring ts=2024-03-22T06:26:01.649334812Z caller=options.go:26 level=info protocol=gRPC msg="disabled TLS, key and cert must be set to enable" ts=2024-03-22T06:26:01.653140606Z caller=factory.go:53 level=info msg="loading bucket configuration" ts=2024-03-22T06:26:01.665405504Z caller=sidecar.go:383 level=info msg="starting sidecar" ts=2024-03-22T06:26:01.666064125Z caller=intrumentation.go:75 level=info msg="changing probe status" status=healthy ts=2024-03-22T06:26:01.666253841Z caller=http.go:73 level=info service=http/server component=sidecar msg="listening for requests and metrics" address=:10902 ts=2024-03-22T06:26:01.669283211Z caller=tls_config.go:274 level=info service=http/server component=sidecar msg="Listening on" address=[::]:10902 ts=2024-03-22T06:26:01.672072788Z caller=tls_config.go:277 level=info service=http/server component=sidecar msg="TLS is disabled." http2=false address=[::]:10902 ts=2024-03-22T06:26:01.672615305Z caller=reloader.go:238 level=info component=reloader msg="nothing to be watched" ts=2024-03-22T06:26:01.672819823Z caller=intrumentation.go:56 level=info msg="changing probe status" status=ready ts=2024-03-22T06:26:01.673047142Z caller=grpc.go:131 level=info service=gRPC/server component=sidecar msg="listening for serving gRPC" address=:10901 ts=2024-03-22T06:26:01.685225109Z caller=sidecar.go:395 level=warn msg="failed to get Prometheus flags. Is Prometheus running? Retrying" err="got non-200 response code: 503, response: Service Unavailable" ts=2024-03-22T06:26:03.679231998Z caller=sidecar.go:195 level=info msg="successfully loaded prometheus version" ts=2024-03-22T06:26:03.719843106Z caller=sidecar.go:217 level=info msg="successfully loaded prometheus external labels" external_labels="{cluster=\"sandboxCluster\", geo=\"sandbox\", prometheus=\"monitoring/prometheus-kube-prometheus-prometheus\", prometheus_replica=\"prometheus-prometheus-kube-prometheus-prometheus-0\", region=\"singapore\"}" ts=2024-03-22T06:26:05.673600558Z caller=shipper.go:263 level=warn msg="reading meta file failed, will override it" err="failed to read /prometheus/thanos.shipper.json: open /prometheus/thanos.shipper.json: no such file or directory"
if count 2 then my second es pod in pending stage. what is the solution
Interesting
Can we scape prometheus metrics from 2 different AKS clusters into 3rd AKS cluster?? If yes, do we need thanos in each cluster or we need thanos only in 3rd cluster where all the metrices will be collected?
hi, how to make sure that all the messages send to kafka topic partitions were read properly or not? and how to club them together?
Hi there, Great video , firstly, thanks for making this. How can we customize the message that is shown as alert in the teams channel. I wish to know the location to update custom template???
Thanks for this !!
how and where did you define pmdMain and pmdTest?
hi good video, do you have any pointer on how to send a json value instead of a string message .. thanks.
Hi the presentation is nice, could you provide your github repo or the terraform files. Thanks
can we use this on an existing consumer, for example: a consumer made in spring boot?
Hi ZZ, could you please let me know how to send keystore which is in file along with request using jsr223 sampler
great efforts you put in
you are outstanding in sharing your knowledge . Thanks a ton
this video was really helpful to me in my project
Code please?
Hi zz talk, thank you for this sharing. I have trouble with the line "records = consumer.poll(Duration.ofMillis(100));" and i get NullPointerExceptionError.Can you help me to solve this issue?
part 2, my dude?
Can we skip proxy and configure directly with Teams web hook?
Hi, you might wanna try the <webhook_config> on Prometheus side. Prometheus doesn’t support MS Teams out of box. I haven’t got a chance to test out the webhook config to see how flexible it is regarding formatting the alert msg etc.
Hi zz talk, How would we handle a JSON payload?
This was a awesome session.
Hi i have few questions: 1. I just want to send 14messages /sec to a remote kafka topic. This system requires sslhandshake. Security.protocol:sasl_ssl, sasl.mechanism:plain, sasl.jaas.config is also required with username,password. How can i send these in the test? 2. If im just using publisher to publish messages, then i hope i need the consumer part from the .jmx file in project? Thanks.
bro you never made the second part??
Interesting
why did id02 message didn't go to another partition?
It's okay as a tutorial to get people started, one note though, if you already take the time to explain core components on K8s in this tutorial, it is advised that you forward this knowledge properly, so a very important note to other viewers here: DO NOT (!!!) use LoadBalancer type of services for everything you need access to, it is not how networking in K8s work and exposes you to more than you'd like. The right way to go about this (generally, I would advise against exposing Prom/Thanos entirely as making them secure is cumbersome, whether that be mTLS, Authorization, JWT or whatnot) is to create an ingress controller (which is made exactly for load balancing purposes) and make use of ingress resources for the app HTTP/S endpoints. Creating all services as LoadBalancers on cloud will also bring additional and unnecessary costs due to provisioned LBs. Other than that, great effort.
Hi ZZ, first of all thnx for sharing with us, well i´m already saw some videos about some Kafka plugins for JMeter but i see that for all the configuration is for a local server, is that possible to test for a remote server? these plugins don´t have any config to this situation, any suggestions?
I didn’t use the plugin in. All were done by JSR223 samplers if you watched my video. And I don’t see why it cannot test for a remote server. You can simply change the Kafka broker ip and port.
How to remove lines from top, left and bottom side? Is it possible?
This is great tutorial. However, I am getting on why do we need the prometheus-msteams while we can configure alertmanager to send out the alerts to teams using webhook?
Bro, can you do it in on-premise two cluster?
The demo was on-premises 2 clusters via minikube.
@@zztalk I thought, It was on Azure. Anyway, thanks.
Do you have any such video for On premises ELK cluster using terraform?
You needed to figure out if terraform has a provider to support your "On Premises" env.
Hi, i didnt understant something, you created a custom sec group but i didnt see that you have assignated to the ec2 instance, so i think ec2 instance is just gonna be assigned to the default security group, in which you allowed all the trafic from anywhere so, in mi conclussion, you are allowable to visit the nginx just for the default sec group, but the custom has nothing to do because it is not assigned to something, right?
Hi, that custom sg was applied to the ec2 instance, it was actually applied to the region. data "aws_ip_ranges" "us_west_ip_range" { regions = [ "us-west-1"] services = [ "ec2" ] } resource "aws_security_group" "sg_custom_us_west" { name = "sg_custom_us_west" ingress { cidr_blocks = data.aws_ip_ranges.us_west_ip_range.cidr_blocks # define the ip range from_port = 443 protocol = "tcp" to_port = 443 } }
Hi, zz Talk! Thank you for your video. It helped me to understand how loadbalancing and autoscaling works. Can I ask you why you don't like to give a link to github or something. It is hard to understand some simple sings if you're studying like the one with key and resource groups. Not very comfortable to go to other videos for some code when you're trying to figure out how that concept works =) Anyway, thank you for your work and have some greetings from Ukraine)
Hi, thanks for watching and comment. Initially I thought it might be bttr to follow my instructions and write the code instead of just copy and paste my code but actually I realized it would be bttr to share the code as a reference based on feedback from watchers and I have been doing that if you check my newer videos. I couldn’t share the code for this video because it was recorded a while back ago and I lost my code base. I’ll update and share once I get a chance to reproduce the demo case.
@@zztalk Thank you for your unswer. In my case your autoscaling was just a part of the project. I did as you say and, after correcting errors and mistakes, it eventually worked=) Some time I need just a part of the code and you need to find that part in video. But anyway, for me it was interesting and helpful
@@AMS_at_home Awesome. Glad it helped one way or another. Thanks for watching again.
Hello, when running the upgrade this error appears. Any ideas? "Error: UPGRADE FAILED: resource mapping not found for name: "op-kube-prometheus-stack-alertmanager" namespace: "monitoring" from "": no matches for kind "Ingress" in version "extensions/v1beta1" ensure CRDs are installed first" I can't find this crd.
The CRD was not installed properly. Did you have admin permission when you were deploying the helm chat? Another issue looks like with kind. It complained about the version. You’ll need to double check.
Where would you start when trying to diagnose performance issues and tune tomcat and JVM settings with a vendor supplied webapp (basically a soap api that connects to a proprietary backend)
What evidences point you to Tomcat and JVM settings firstly?
Something happened the audio after 45:00 I think - it drops to an almost inaudible level. Other than that, very useful video. Thanks for the demo.
Thanks for your comment and sorry about the inconvenience.
阿哟, 以前打开视频直接看,现在先让我看广告,牛逼了🎉
1000个subscribers + 4000小时总播放时间以后就可以enable monetization了
Hi Script is not working for kafkaProps.put("value.serializer","io.confluent.kafka.serializers.KafkaAvroSerializer"); Is any specific imports required to support this ?
is this eks managed node group
Yes.
Thanks I just saw your video and its nicely explained. Just wanted to know my setup is 2 k8s cluster and centralised loki and grafana, Promtail is deployed in both these cluster. But when i add 2 data sources in grafana in both the dashboards i could see all namespaces and pods names in both dashboard why is that ?
Thanks for watching. Could you elaborate your question with some snapshots such that I can see the config you did? It’s hard to tell without more details.
@@zztalk Dashboard which you have choose , in there only namespace , pods name are there, what if i want to see cluster name as well, ex- If i have multiple clusters and all that clusters has promtail in it which will push logs to the centralised Loki. But i want to see logs whenver that cluster is selected/ So do you know about any pre built dashboard which shows logs when i click clusternamee > namespace > podsname
if p[ossible can we connect on discord or Teams ?
@@ashishjohn9708 You can customize your dashboard with more filters. There must be tags available to identify what cluster does the log come from. You can use those tags for filter on Grafana.
@@zztalk In this timestamp 17:00 if you click in pods section, you are getting pods for that particular namespace or all the pods from all namespace, because i am not getting any pods.
thank you very much!
Thanks for watching!
thanks a lot.
Thanks for watching.
The CRD apiversion is not supported in the latest k8s
It’s been almost 2 years since this video was released. There are updates need to be done. I’ve got a chance to revisit this topic. But thanks for pointing it out.