In the era of Microservices, Cloud Computing and Serverless architecture, it¡¯s useful to understand Kubernetes and learn how to use it. However, the official Kubernetes documentation can be hard to decipher, especially for newcomers. In this book, I will present a simplified view of Kubernetes and give examples of how to use it for deploying microservices using different cloud providers, including Azure, Amazon, Google Cloud and even IBM.
The document discusses various Kubernetes concepts including pods, deployments, services, ingress, labels, health checks, config maps, secrets, volumes, autoscaling, resource quotas, namespaces, Helm, and the Kubernetes Dashboard. Kubernetes is a container orchestration tool that manages container deployment, scaling, and networking. It uses pods to group containers, deployments to manage pods, and services for exposing applications.
Tekton is an open-source, Kubernetes-native framework for building continuous integration and delivery (CI/CD) pipelines. It provides custom resources like Tasks and Pipelines that allow users to define CI/CD workflows. Tekton runs controllers that reconcile the desired state of these resources by creating Kubernetes pods to run steps and propagate status. The workshop covers Tekton concepts like Tasks, TaskRuns, Pipelines and PipelineRuns, and includes a hands-on lab to build a sample CI/CD pipeline with Tekton.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
?
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Docker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
?
This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
This document provides an overview and summary of a presentation about authentication and authorization for cloud native applications using Keycloak. The presentation introduces Keycloak as an open source identity and access management solution, discusses the importance of authentication and authorization, and describes how Keycloak can be used for authentication methods like single sign-on, social login, and multi-factor authentication as well as authorization standards like OAuth 2.0 and Financial-Grade API 1.0. It also covers Keycloak features that help secure cloud native environments and applications.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
This document describes how to configure Spring Security for authentication and authorization in a web application. It defines a WebSecurityConfig class that configures HTTP security with roles like OWNER and MANAGER for access control. It also defines a UserDetailsManager service for loading users and a User entity class implementing UserDetails. Tests are shown for security configuration, login, access control and more using Spring Security's test utilities.
Tekton is an open-source, Kubernetes-native framework for building continuous integration and delivery (CI/CD) pipelines. It provides custom resources like Tasks and Pipelines that allow users to define CI/CD workflows. Tekton runs controllers that reconcile the desired state of these resources by creating Kubernetes pods to run steps and propagate status. The workshop covers Tekton concepts like Tasks, TaskRuns, Pipelines and PipelineRuns, and includes a hands-on lab to build a sample CI/CD pipeline with Tekton.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
?
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Docker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
?
This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
This document provides an overview and summary of a presentation about authentication and authorization for cloud native applications using Keycloak. The presentation introduces Keycloak as an open source identity and access management solution, discusses the importance of authentication and authorization, and describes how Keycloak can be used for authentication methods like single sign-on, social login, and multi-factor authentication as well as authorization standards like OAuth 2.0 and Financial-Grade API 1.0. It also covers Keycloak features that help secure cloud native environments and applications.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
This document describes how to configure Spring Security for authentication and authorization in a web application. It defines a WebSecurityConfig class that configures HTTP security with roles like OWNER and MANAGER for access control. It also defines a UserDetailsManager service for loading users and a User entity class implementing UserDetails. Tests are shown for security configuration, login, access control and more using Spring Security's test utilities.
Spark
Hadoop
HDFS
Spark Cluster
Docker
Google Cloud Platform
GCP
DataProc
Google Cloud Storage
Google Vision API
Google Translation API
Google Natural Language API
Helm was used to deploy Prometheus and the Prometheus stack on an EKS cluster for monitoring purposes. This included deploying Prometheus, Grafana, Alertmanager and associated pods and services. Some key steps taken were adding the Prometheus chart repository, configuring storage classes, and accessing the deployed applications. Potential issues with default storage configurations were also discussed.
The document provides instructions for deploying Prometheus and the Kube Prometheus Stack on NKS. Key steps include:
1. Deploying Prometheus using Helm with custom storage class and service type settings.
2. Verifying successful deployment by checking pods, services, and accessing the Prometheus UI.
3. Deploying the Kube Prometheus Stack using Helm, again with custom storage class and service type settings.
4. Verifying successful deployment including checking pods, services, and accessing the Grafana UI with default credentials to view pre-configured dashboards importing from Prometheus data.
The document provides instructions for deploying and managing an EKS (Elastic Kubernetes Service) cluster on AWS using eksctl. It outlines the steps to install eksctl and kubectl, deploy an EKS cluster called "eks-122" using eksctl with default settings, verify the cluster is active with 2 nodes, and finally delete the cluster when it is no longer needed.
The document discusses how to set up a CDN on Google Kubernetes Engine (GKE). It involves:
1. Creating a deployment and exposing it via a LoadBalancer to test performance without CDN. Tests from Japan and Oregon VMs show response times from Japan are higher.
2. Creating an Ingress resource and exposing it, then enabling Cloud CDN on the Ingress backend.
3. Testing performance from the Oregon VM to the Ingress IP, which now benefits from the CDN, shows improved response times compared to testing the LoadBalancer without CDN.
The myths of deprecating docker in kubernetesJo Hoon
?
Don¡¯t be surprise. It is very natural movement from monolithic style to MSA. And it is not sooner issue. Just happen to late 2021 as a plan. And most of customer doesn¡¯t impact your system. Due to many of service provider (GCP, AWS, AZURE, OpenShift, RKE and so on) already change their Container Runtime from (a little noisy?) old version of docker to light Container Runtime. I.e. new version of docker or others. And also it is no no no impact to your current image because you already use containerD monstly and what if you use old version of docker and also k8s said support old dockershim with there supportive method.
This document discusses using Ansible to configure Dell EMC networking devices running OS10. It includes examples of using Ansible ad-hoc commands to ping devices and retrieve information using the dellos10_command module. It also provides a YAML playbook that creates VLAN 11 on different devices and interfaces and configures BFD between spine switches and the access switch.
6. 2.Argo CD ?? ? ??
Argo CD ???? ??? ???? Argo CD? ?????? ?????.
2.1.Argo CD? ?? ?? ???? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ helm repo add argo
https://argoproj.github.io/argo-helm
"argo" has been added to your repositories
2.2.Argo CD? ?? ???? ?? ???? ???? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "argo" chart repository
Update Complete. ?Happy Helming!?
2.3.?? ???? ??? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ helm repo list
NAME URL
argo https://argoproj.github.io/argo-helm
2.4.???? Argo CD ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ helm install argocd argo/argo-cd
--set server.service.type=LoadBalancer
--set configs.params."server.insecure"=true
--set server.image.tag=v2.6.7
--namespace=argocd
--create-namespace
NAME: argocd
LAST DEPLOYED: Wed Apr 12 04:59:07 2023
NAMESPACE: argocd
STATUS: deployed
REVISION: 1
TEST SUITE: None
6
7. NOTES:
In order to access the server UI you have the following options:
1. kubectl port-forward service/argocd-server -n argocd 8080:443
and then open the browser on http://localhost:8080 and accept the certificate
2. enable ingress in the values file `server.ingress.enabled` and either
- Add the annotation for ssl passthrough:
https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-1-ssl-passthrough
- Set the `configs.params."server.insecure"` in the values file and terminate SSL at
your ingress:
https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-2-multiple-ingress-
objects-and-hosts
After reaching the UI the first time you can login with username: admin and the random
password generated during the installation. You can find the password by running:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" |
base64 -d
(You should delete the initial secret afterwards as suggested by the Getting Started Guide:
https://argo-cd.readthedocs.io/en/stable/getting_started/#4-login-using-the-cli)
2.5.??? Deployment? Service ??? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ kubectl get po,svc -n argocd
NAME READY STATUS RESTARTS AGE
pod/argocd-application-controller-0 1/1 Running 0 2m40s
pod/argocd-applicationset-controller-5dd87cc68-8zfqc 1/1 Running 0 2m40s
pod/argocd-dex-server-64b965fd-2xxgv 1/1 Running 0 2m40s
pod/argocd-notifications-controller-74b84c4bf5-9r9tl 1/1 Running 0 2m40s
pod/argocd-redis-6c9f5c7dcc-h89lt 1/1 Running 0 2m40s
pod/argocd-repo-server-594fcbb47d-xx9kt 1/1 Running 0 2m40s
pod/argocd-server-77b68b89b8-xt25h 1/1 Running 0 2m40s
NAME TYPE CLUSTER-IP EXTERNAL-IP
PORT(S) AGE
service/argocd-applicationset-controller ClusterIP 10.88.40.181 <none>
7000/TCP 2m40s
service/argocd-dex-server ClusterIP 10.88.33.226 <none>
5556/TCP,5557/TCP 2m40s
service/argocd-redis ClusterIP 10.88.44.0 <none>
6379/TCP 2m40s
service/argocd-repo-server ClusterIP 10.88.33.119 <none>
8081/TCP 2m40s
7
22. 4.argo ????? ??? Argo CD? admin ?? ????
????? ??? CD? ??? argo ????? ??? ?? ?????.
4.1.????
GCP Cloud Shell? ?? ? /usr/local/bin?? ????? ???? ?? ?? ???
???????.
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ sudo curl -sSL -o ~/.local/bin/argocd
https://github.com/argoproj/argo-cd/releases/download/v2.6.7/argocd-linux-amd64
4.2.?? ?? ????
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ sudo chmod +x ~/.local/bin/argocd
4.3.argocd ?? ?? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ argocd
argocd controls a Argo CD server
Usage:
argocd [flags]
argocd [command]
Available Commands:
<snipped>
4.4.argocd ? ??? argo CD ?? ???
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ argocd login `kubectl get svc
argocd-server -n argocd -o jsonpath='{.status.loadBalancer.ingress[0].ip}'`
WARNING: server is not configured with TLS. Proceed (y/n)? y
Username: admin
Password: <admin-hoonjo>
'admin:login' logged in successfully
Context '34.64.50.202' updated
22
23. 4.5.Argo CD? ???? ?? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ argocd account list
NAME ENABLED CAPABILITIES
admin true login
4.6.argo ??? ??? admin ??? ??
[hj@cs-491314827780-default ~ (?? |mzs-gke:default)]$ argocd account update-password
*** Enter password of currently logged in user (admin): <admin-hoonjo>
*** Enter new password for user admin: <NEW-PASSWORD>
*** Confirm new password for user admin: <NEW-PASSWORD>
Password updated
Context '34.64.50.202' updated
4.7.??? ??? ?? Argo CD ??? ? ??
23