<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sudarshan Swain</title>
    <description>The latest articles on DEV Community by Sudarshan Swain (@sudarshanswain).</description>
    <link>https://dev.to/sudarshanswain</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1080003%2F0caa87c2-ab94-40ed-ba29-613b15cd39b6.png</url>
      <title>DEV Community: Sudarshan Swain</title>
      <link>https://dev.to/sudarshanswain</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sudarshanswain"/>
    <language>en</language>
    <item>
      <title>Troubleshooting "502 Bad Gateway" Error in Kubernetes</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Fri, 14 Jul 2023 04:04:04 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/troubleshooting-502-bad-gateway-error-in-kubernetes-34ej</link>
      <guid>https://dev.to/sudarshanswain/troubleshooting-502-bad-gateway-error-in-kubernetes-34ej</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br&gt;
The "502 Bad Gateway" error is a common issue encountered in Kubernetes clusters when there is a problem with the communication between components such as ingress controllers, load balancers, or services. In this blog post, we will discuss the steps to troubleshoot and resolve this error, helping you get your Kubernetes cluster up and running smoothly.&lt;/p&gt;

&lt;p&gt;Verify service availability:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start by checking if the service you are trying to access is running and available. Use the kubectl get services command to list the services and ensure they are in a healthy state. If any services are not running as expected, investigate further. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check ingress configuration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you are using an ingress controller, review the ingress configuration to ensure it is correctly defined. Check the ingress rules, backend services, and paths to ensure they are properly configured. Any misconfiguration in the ingress setup can result in a "502 Bad Gateway" error. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inspect pod and container status:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate that the pods associated with the service are running without errors. Use the kubectl get pods command to check the status of the pods. If any pods are not running or have encountered errors, investigate the logs of those pods for more information. Understanding the root cause of pod failures can help in troubleshooting the error. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examine load balancer settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a load balancer is in use, confirm its configuration and ensure it is correctly forwarding traffic to the appropriate backend services. Check the load balancer health checks to ensure they are passing. Misconfigurations in load balancer settings can lead to "502 Bad Gateway" errors. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check network connectivity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure that the network connectivity between the client and the Kubernetes cluster is functioning correctly. Check for any network issues, firewalls, or security group rules that might be blocking the traffic. A disruption in network connectivity can cause communication problems and result in the error. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Review application logs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inspect the logs of the application running inside the pod to identify any errors or issues that might be causing the "502 Bad Gateway" error. Look for relevant error messages or exceptions that could provide insights into the problem. Application-level issues can contribute to the error and should be addressed accordingly. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scale resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consider scaling up the resources if the issue is related to resource constraints. Increasing the number of pods or replicas can help handle the incoming traffic more effectively. Ensure that your cluster resources are appropriately sized to meet the demand.  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
Encountering a "502 Bad Gateway" error in a Kubernetes cluster can be frustrating, but with systematic troubleshooting steps, you can resolve the issue and restore proper functionality. By verifying service availability, reviewing configurations, inspecting pod and container statuses, and checking network connectivity, you can identify and address the underlying cause of the error. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Kubernetes networking interview questions</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Tue, 04 Jul 2023 17:54:40 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/kubernetes-networking-interview-questions-3hgk</link>
      <guid>https://dev.to/sudarshanswain/kubernetes-networking-interview-questions-3hgk</guid>
      <description>&lt;p&gt;Networking:&lt;/p&gt;

&lt;p&gt;1 What is the role of a Container Network Interface (CNI) in Kubernetes, and how does it work?&lt;/p&gt;

&lt;p&gt;2 Explain the difference between a pod network and a service network in Kubernetes.&lt;/p&gt;

&lt;p&gt;3 What are the different network plugins &lt;br&gt;
4 What is the role of a Container Network Interface (CNI) in Kubernetes, and how does it work?&lt;/p&gt;

&lt;p&gt;5 Explain the difference between a pod network and a service network in Kubernetes.&lt;/p&gt;

&lt;p&gt;6 What are the different network plugins or solutions commonly used for Kubernetes networking? Can you name a few?&lt;/p&gt;

&lt;p&gt;7 How does service discovery work in Kubernetes, and what role does DNS play in the process?&lt;/p&gt;

&lt;p&gt;8 What is kube-proxy, and what is its purpose in Kubernetes networking?&lt;/p&gt;

&lt;p&gt;9 Explain the concept of network&lt;br&gt;
policies in Kubernetes. How are they implemented and what do they allow you to do?&lt;/p&gt;

&lt;p&gt;10 How can you secure the communication between pods and nodes in a Kubernetes cluster?&lt;/p&gt;

&lt;p&gt;11 What is an Ingress controller in Kubernetes, and how does it enable external access to services?&lt;/p&gt;

&lt;p&gt;12 What is the purpose of a CNI plugin, and how does it integrate with container runtimes?&lt;/p&gt;

&lt;p&gt;13 How can you troubleshoot networking issues in a Kubernetes cluster? What tools or commands can you use for debugging?plugins or solutions commonly used for Kubernetes networking? Can you name a few?&lt;/p&gt;

&lt;p&gt;14 How does service discovery work in Kubernetes, and what role does DNS play in the process?&lt;/p&gt;

&lt;p&gt;15 What is kube-proxy, and what is its purpose in Kubernetes networking?&lt;br&gt;
Explain the concept of network policies in Kubernetes. How are they implemented and what do they allow you to do?&lt;/p&gt;

&lt;p&gt;16 How can you secure the communication between pods and nodes in a Kubernetes cluster?&lt;/p&gt;

&lt;p&gt;17 What is an Ingress controller in Kubernetes, and how does it enable external access to services?&lt;/p&gt;

&lt;p&gt;18 What is the purpose of a CNI plugin, and how does it integrate with container runtimes?&lt;/p&gt;

&lt;p&gt;19 How can you troubleshoot networking issues in a Kubernetes cluster? What tools or commands can you use for debugging?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>EKS security best practices</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Thu, 08 Jun 2023 17:49:18 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/eks-security-best-practices-1428</link>
      <guid>https://dev.to/sudarshanswain/eks-security-best-practices-1428</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In today's digital landscape, security is paramount, especially when it comes to managing cloud infrastructure. Amazon Elastic Kubernetes Service (EKS) has gained popularity as a managed service for running Kubernetes clusters, providing scalability and ease of use. However, ensuring the security of your EKS cluster is of utmost importance to safeguard your applications, data, and infrastructure. In this blog post, we will explore the best practices and strategies for enhancing the security of your EKS environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secure EKS Control Plane:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The control plane is the brain of your EKS cluster, responsible for managing and orchestrating the worker nodes. It is crucial to secure the control plane to protect it from unauthorized access. Amazon EKS employs Identity and Access Management (IAM) roles to control access to the control plane's API server. You should follow the principle of least privilege, granting only the necessary permissions to users and ensuring multi-factor authentication (MFA) is enabled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secure Worker Nodes:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Worker nodes are the machines that run your applications and execute Kubernetes tasks. Implementing proper security measures for worker nodes is vital to prevent unauthorized access and potential attacks. It is recommended to utilize AWS EC2 Instance Metadata Service Version 2 (IMDSv2), which adds an extra layer of security by requiring an authorization header for access.&lt;/p&gt;

&lt;p&gt;Additionally, applying security patches and updates regularly, restricting SSH access, and using network security groups (NSGs) to control inbound and outbound traffic to worker nodes are essential practices for securing worker nodes within your EKS cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network and Communication Security&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Secure communication within your EKS cluster is crucial to protect data in transit and prevent eavesdropping or tampering. Here are some important considerations:&lt;/p&gt;

&lt;p&gt;Enable Kubernetes network policies to control network traffic flow between pods and namespaces, restricting access to only what is required.&lt;br&gt;
Implement Transport Layer Security (TLS) encryption for communication between your cluster and external services, leveraging Kubernetes secrets for storing certificates and keys.&lt;br&gt;
Utilize AWS VPC (Virtual Private Cloud) to create isolated network environments, allowing fine-grained control over inbound and outbound traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Container Image Security:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Container images are at the heart of your applications in EKS. Ensuring their security is essential to mitigate potential risks. Follow these practices to enhance container image security:&lt;/p&gt;

&lt;p&gt;Use trusted sources and repositories for container images, regularly scanning them for vulnerabilities using tools like Amazon ECR (Elastic Container Registry) and third-party scanners.&lt;br&gt;
Implement image signing and verification mechanisms, such as Docker Content Trust, to guarantee the integrity and authenticity of container images.&lt;br&gt;
Implement resource constraints, such as CPU and memory limits, to prevent resource abuse or denial-of-service attacks within containers.&lt;br&gt;
Logging, Monitoring, and Auditing:&lt;br&gt;
Proactive monitoring, logging, and auditing are crucial components of a robust security strategy. Implement comprehensive logging to capture and analyze activities within your EKS cluster. Leverage AWS CloudTrail to monitor API calls, AWS CloudWatch for log aggregation and analysis, and Kubernetes-native tools like Fluentd or Loki for capturing container logs.&lt;/p&gt;

&lt;p&gt;Implementing a centralized monitoring solution, such as AWS CloudWatch or Prometheus, helps identify anomalies, detect security breaches, and ensure compliance with industry standards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As the popularity of Kubernetes and EKS continues to grow, so does the importance of ensuring the security of your EKS cluster. By implementing the best practices and strategies outlined in this blog post, you can significantly enhance the security posture of your EKS environment. Remember to regularly review and update your security measures as new threats emerge and evolve.&lt;/p&gt;

&lt;p&gt;With a strong focus on securing the EKS control plane, worker nodes, network communication, container images, and implementing effective monitoring and logging, you can establish a robust cluster&lt;/p&gt;

</description>
      <category>aws</category>
      <category>security</category>
      <category>devops</category>
      <category>eks</category>
    </item>
    <item>
      <title>Upgrading eks from 1.22 to 1.23 : A Step-by-Step Guide</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Sat, 03 Jun 2023 15:29:48 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/upgrading-kubernetes-from-12223-to-124-a-step-by-step-guide-4nnh</link>
      <guid>https://dev.to/sudarshanswain/upgrading-kubernetes-from-12223-to-124-a-step-by-step-guide-4nnh</guid>
      <description>&lt;p&gt;Upgrading Kubernetes to a newer version is essential to leverage the latest features, bug fixes, and security enhancements. In this guide, we'll walk you through the process of upgrading your Kubernetes cluster from version 1.22 to 1.24. Let's get started!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Review the Release Notes&lt;/strong&gt;&lt;br&gt;
Begin by carefully reviewing the release notes for Kubernetes 1.24. Pay close attention to the "Changes" and "Deprecations" sections, as they highlight any breaking changes or deprecated features that might affect your cluster. Understanding these changes will help you prepare for the upgrade process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Back Up Your Data&lt;/strong&gt;&lt;br&gt;
Before proceeding with any upgrade, it's crucial to back up your cluster's data. This includes persistent volumes, configurations, and application data. Taking this precautionary step ensures that you can restore your cluster in case any issues arise during the upgrade process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;eks upgrade 1.22 to 1.23&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow the below order for eks upgrade&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Control plane upgrade &lt;/li&gt;
&lt;li&gt;Worker Nodes upgrade&lt;/li&gt;
&lt;li&gt;Kubectl&lt;/li&gt;
&lt;li&gt;Add on&lt;/li&gt;
&lt;li&gt;AWS-node&lt;/li&gt;
&lt;li&gt;kube-proxy&lt;/li&gt;
&lt;li&gt;coredns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Upgrade Control Plane Components&lt;/strong&gt;&lt;br&gt;
The control plane components, including the API server, controller manager, and scheduler, form the backbone of your Kubernetes cluster. Here's how you can upgrade them:&lt;/p&gt;

&lt;p&gt;Drain the control plane nodes: Evict all pods running on the control plane nodes to ensure a smooth upgrade process. Use the kubectl drain command to accomplish this.&lt;/p&gt;

&lt;p&gt;Upgrade the control plane components: Update each control plane component one by one. The process may vary depending on your installation method. If you're using kubeadm, you can employ the kubeadm upgrade command to upgrade these components.&lt;/p&gt;

&lt;p&gt;Verify control plane upgrade: After upgrading each control plane component, ensure that it's running correctly and that the cluster remains stable before proceeding to the next component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Upgrade Worker Nodes&lt;/strong&gt;&lt;br&gt;
Now it's time to upgrade the worker nodes in your cluster. Follow these steps:&lt;/p&gt;

&lt;p&gt;Drain the worker nodes: Similar to the control plane nodes, evict all pods running on the worker nodes using the kubectl drain command.&lt;/p&gt;

&lt;p&gt;Upgrade the worker nodes: Update the Kubernetes binaries on each worker node. The specific steps depend on your installation method. For example, with kubeadm, you can use the kubeadm upgrade node command for each worker node.&lt;/p&gt;

&lt;p&gt;Verify worker node upgrade: After upgrading each worker node, ensure that it successfully rejoins the cluster and that all pods are running as expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Update the Kubelet and kubectl Binaries&lt;/strong&gt;&lt;br&gt;
To ensure compatibility and interact with the cluster using the new Kubernetes version, update the kubelet and kubectl binaries on all nodes in your cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Validate the Cluster&lt;/strong&gt;&lt;br&gt;
Thoroughly test the upgraded cluster to verify its functionality:&lt;/p&gt;

&lt;p&gt;Run tests on your applications, services, and critical workloads to ensure they operate as expected.&lt;br&gt;
Check that all the cluster components are functioning correctly.&lt;br&gt;
Perform comprehensive testing to validate the cluster's stability and reliability.&lt;br&gt;
&lt;strong&gt;7. Update Application Configurations&lt;/strong&gt;&lt;br&gt;
If the new Kubernetes version introduces changes that impact your application deployments or configurations, make the necessary adjustments. Refer to the release notes for specific guidance on changes to API objects, deprecations, or new features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Monitor and Troubleshoot&lt;/strong&gt;&lt;br&gt;
After the upgrade process, keep a close eye on your cluster and monitor logs, metrics, and alerts. This allows you to quickly identify and address any potential issues. If you encounter difficulties, consult the Kubernetes documentation, forums, or community for troubleshooting guidance.&lt;/p&gt;

&lt;p&gt;Remember to test the upgrade process in a non-production environment&lt;/p&gt;

</description>
      <category>eks</category>
      <category>kubernetes</category>
      <category>aws</category>
      <category>upgrade</category>
    </item>
    <item>
      <title>Kubernetes Networking</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Thu, 01 Jun 2023 16:36:09 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/kubernetes-networking-3dfa</link>
      <guid>https://dev.to/sudarshanswain/kubernetes-networking-3dfa</guid>
      <description>&lt;p&gt;Introduction: As organizations increasingly adopt containerization and migrate their applications to the cloud, the need for efficient networking solutions has become paramount. Kubernetes, the popular container orchestration platform, provides robust networking capabilities to connect and manage containers seamlessly. In this blog, we will explore the fundamentals of Kubernetes networking, its components, and how it enables communication between containers within the cluster.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Understanding Kubernetes Networking: In a Kubernetes cluster, multiple containers run on different nodes, and they need to communicate with each other. Kubernetes networking solves this challenge by establishing a network overlay that allows containers to communicate across nodes transparently. It abstracts the underlying infrastructure and provides a unified network interface for the containers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Kubernetes Networking Components: a. Pod Network: Pods are the fundamental units in Kubernetes, and they encapsulate one or more containers. Each pod gets assigned a unique IP address within the cluster's pod network. This IP enables inter-pod communication.&lt;br&gt;
b. Container Network Interface (CNI): CNI is a specification that defines how network plugins interact with container runtimes. Kubernetes leverages CNI plugins to enable networking for containers. These plugins facilitate the creation of network interfaces, IP allocations, and routing configurations.&lt;br&gt;
c. Service: Services are an abstraction in Kubernetes that allow containers to communicate with each other using a stable IP address and port, even if the underlying pods are dynamic or scaled. Services act as load balancers, routing incoming requests to the appropriate pods.&lt;br&gt;
d. Ingress: Ingress is a Kubernetes resource that provides external access to services within the cluster. It acts as a reverse proxy, routing external traffic to the appropriate services based on rules defined in the ingress configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Networking Models: Kubernetes supports various networking models, including overlay networks, host-based networking, and more. These models determine how the network traffic flows within the cluster and how containers communicate with each other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network Policies: Kubernetes offers Network Policies to enforce access controls and network isolation within the cluster. Network Policies define rules that allow or deny traffic based on various criteria, such as IP addresses, ports, and protocols. They provide an additional layer of security and help organizations implement fine-grained network controls.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion: Kubernetes networking plays a vital role in enabling seamless communication and connectivity between containers within a cluster. By leveraging its networking components, organizations can build scalable, resilient, and secure applications in the cloud. Understanding the fundamentals of Kubernetes networking is essential for effectively harnessing the power of this orchestration platform and maximizing the benefits it offers in the dynamic world of containerized applications.&lt;br&gt;
Whether you are new to Kubernetes or an experienced user, diving into its networking capabilities is a crucial step in mastering the art of container orchestration and unlocking the true potential of your cloud-native applications.&lt;/p&gt;

&lt;p&gt;Kubernetes networking is a layer-4 network abstraction that allows pods to communicate with each other and with the outside world. Pods are assigned unique IP addresses within the Kubernetes network. Pods can communicate with each other using their IP addresses. Pods can communicate with the outside world using the Kubernetes service proxy. The Kubernetes service proxy is a layer-7 load balancer that distributes traffic to pods. Kubernetes networking is a powerful tool that can be used to simplify and secure the networking of containerized applications.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Kafka? How Kafka works?Instllation steps.</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Thu, 11 May 2023 13:40:39 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/what-is-kafka-how-kafka-worksinstllation-steps-322k</link>
      <guid>https://dev.to/sudarshanswain/what-is-kafka-how-kafka-worksinstllation-steps-322k</guid>
      <description>&lt;p&gt;What is Apache Kafka?&lt;br&gt;
Apache Kafka is an open-source distributed streaming platform that ingests and processes streaming data in real-time. It is designed to handle high volume of data from different sources. Apache Kafka uses a Publish and Subscribe model to read and write streams of records.  Kafka reads and writes messages asynchronously.&lt;/p&gt;

&lt;p&gt;Topics: Kafka topics is a feed name to which messages are published. It is used to organize and categorize in a distributed and scalable manner.&lt;br&gt;
Its logical categorization of messages in Kafka&lt;/p&gt;

&lt;p&gt;Partition: A topic can be devided into multiple partions which allow for parallelism &amp;amp; scalability. Each partition is an ordered and immutable sequence of records&lt;br&gt;
Producer / Publisher: are clients which generate message and queue them into Kafka model.&lt;br&gt;
Consumer / Subscriber: are ones who consume message from Kafka model&lt;/p&gt;

&lt;p&gt;Prerequisite:&lt;br&gt;
Download &amp;amp; install JDK&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g0PSNN4G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l0w2k5s0wr4lpovlc9z1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g0PSNN4G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l0w2k5s0wr4lpovlc9z1.png" alt="Image description" width="382" height="29"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java -version&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZL5BQQFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ldty5dpwclz5ugxb0mv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZL5BQQFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ldty5dpwclz5ugxb0mv.png" alt="Image description" width="728" height="46"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download the kafka latest stable version from official apache websites.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SenhtcNr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrsw1q95k555yjds7inp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SenhtcNr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrsw1q95k555yjds7inp.png" alt="Image description" width="728" height="46"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extract the tgz file as below&lt;br&gt;
tar xvfz kafka_2.12-3.4.0.tgz&lt;br&gt;
Rename the kafka directory &amp;amp; put it in opt/kafka directory.&lt;br&gt;
mv kafka_2.12-3.4.0 kafka&lt;br&gt;
/opt/kafka/bin&lt;/p&gt;

&lt;p&gt;Before starting kafka we need to start the zookeeper.&lt;br&gt;
Run the following commands in order to start all services in the correct order:&lt;/p&gt;

&lt;p&gt;/opt/kafka$ bin/zookeeper-server-start.sh config/zookeeper.properties&lt;/p&gt;

&lt;p&gt;Start the kafka server.&lt;br&gt;
/opt/kafka$ bin/kafka-server-start.sh config/server.properties&lt;br&gt;
These services will be running on Linux active prompt .to run it as systemd services so that when you restart Linux these services will be restarted automatically.&lt;br&gt;
Now create a service file for both Kafka &amp;amp; zookeeper&lt;/p&gt;

&lt;p&gt;sudo vi /etc/systemd/system/zookeeper.service&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iiIBFbgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9t6sm286hwh4mn12p5pn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iiIBFbgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9t6sm286hwh4mn12p5pn.png" alt="Image description" width="790" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Same for kafka&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TzVByy8V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h5zsmjrs2vdfuz3r6lj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TzVByy8V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h5zsmjrs2vdfuz3r6lj.png" alt="Image description" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;enable the service for systemd &amp;amp; realod the daemon&lt;/p&gt;

&lt;p&gt;sudo systemctl daemon-reload&lt;br&gt;
sudo systemctl start zookeeper to check sudo systemctl status zookeeper&lt;br&gt;
sudo systemctl start kafka&lt;/p&gt;

&lt;p&gt;Topic creation&lt;br&gt;
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092&lt;br&gt;
Created topic test.&lt;/p&gt;

&lt;p&gt;to check if topic is created&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KL8D-n_n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6cz734nfw7ar5izq0lct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KL8D-n_n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6cz734nfw7ar5izq0lct.png" alt="Image description" width="800" height="57"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations ,Kafka is installed in system &amp;amp; topic is created.&lt;br&gt;
 Now we can publish &amp;amp; consume messages &lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Elasticsearch?Its setup &amp; configuration</title>
      <dc:creator>Sudarshan Swain</dc:creator>
      <pubDate>Wed, 10 May 2023 06:51:18 +0000</pubDate>
      <link>https://dev.to/sudarshanswain/what-is-elasticsearchits-setup-configuration-43mm</link>
      <guid>https://dev.to/sudarshanswain/what-is-elasticsearchits-setup-configuration-43mm</guid>
      <description>&lt;p&gt;pre-reqsites to install Elasticsearch and kibana 8.4.3 (Latest version)&lt;br&gt;
wget -qO - &lt;a href="https://artifacts.elastic.co/GPG-KEY-elasticsearch"&gt;https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;/a&gt; | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg&lt;/p&gt;

&lt;p&gt;sudo apt-get install apt-transport-https&lt;/p&gt;

&lt;p&gt;echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] &lt;a href="https://artifacts.elastic.co/packages/8.x/apt"&gt;https://artifacts.elastic.co/packages/8.x/apt&lt;/a&gt; stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list&lt;/p&gt;

&lt;p&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install elasticsearch&lt;/p&gt;

&lt;p&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install kibana&lt;br&gt;
Note:- its uses the same repo both elasticsearch and Kiabana&lt;/p&gt;

&lt;p&gt;Refrence - &lt;a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html"&gt;https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Certficates Needs to be configured in 8.4.3 Version. &lt;br&gt;
While Installing elasticsearch 8.4.3 Certs already created &amp;amp; stores in the /etc/elasticsearch&lt;/p&gt;

&lt;p&gt;After Kibana Installed its prompts for the enrollement token following command will genereate token from command-line&lt;br&gt;
sudo bash /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana&lt;br&gt;
after token successfully pasted its will ask for verfication code following command will give secure code&lt;br&gt;
sudo bash  /usr/share/kibana/bin/kibana-verification-code&lt;/p&gt;

&lt;p&gt;API need to authinticates https only while we use ELK curl command-lines&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
