Infrastructure Modeling (Kubernetes)

Getting started

Kuber-Ez is a visual, web-based diagramming tool that allows you to construct kubernetes manifests and deployment models with minimal understanding of YAMLl and CLI.

URL: Getting Started with Kubernetes

  • Click + NEW in the upper right corner and click Kubernetes Deploy Diagram.


Quick Tour

Screen Layout


1. palette area

The Kubernetes Objects palette area groups a list of Kubernetes objects, separated by each category.

object palette

category object Explanation
Workload Namespace
Deployment
ReplicaSet
Pod
StatefulSet
DaemonSet
A set of controller objects to maintain Kubernetes' basic object and desired state
Routing Service
Ingress
An object that serves the Workload object so that it can be accessed from the outside.
Persistence PersistentVolume
PersistentVolumeClaim
StorageClass
A set of volume resources to manage Kubernetes storage
Autosalcer HorizontalPodAutoscaler An object that automatically scales the number of Pods in a resource by observing CPU and memory usage
Job Job
CronJob
A set of controller objects that cause a specified number of Pods to successfully launch and terminate.
Configuration ConfigMap
Secret
A set of objects that store data for use by other objects.
Role Based Access Control
(RBAC)
Role
RoleBinding
ClusterRole
ClusterRoleBinding
ServiceAccount
A set of objects that manage privileges in the Kubernetes system based on a user's role.
Istio Gateway
VirtualService
DestinationRule
ServiceEntry
Sidecar
Quota
Rule
QuotaSpec
QuotaSpecBinding
MemQuota
Knative Service
Argo Workflow


2. menu area

It is a function for cluster connection and deployment and management of generated YAML code displayed in the upper right corner. The detailed description is as follows.

1) Manage Clusters: You can register and delete user's clusters, and click a registered cluster to select a cluster to use.

Manage Clusters screen called when clicking the gear button

Click the + button to enter the name, API Server of the cluster, and token and save it, then the cluster information entered on the screen will be registered. The cluster to use is selected by clicking on the registered cluster.

2) Deploy: This button deploys the object modeled on the canvas to the server. It can be used if there is a cluster selected by the user.

A popup window that appears when you click the Deploy button. Check the cluster information to be deployed and click the Deploy button to deploy the modeled objects on the canvas.

3) Code Preview: There are two menus: Code Preview and Download Archive. When you click Code Preview, you can preview the YAML file of the modeled object on the canvas according to the template. When you click Download Archive, the YAML file according to the selected template is downloaded.

Click Code Preview and select Separate File per kind from Template

You can check the YAML of the modeling object for each template you want.

A popup window called by clicking Download Archive. You can download the Yaml file by selecting the template you want.



3. command area

This is the shell area where Kubernetes CLI commands are output. An object is defined on the canvas, and when a command is clicked on the object's context menu, the corresponding command is output to the shell area.
Open a terminal from the object's context menu

Invoke kubectl get deployment command via menu



4. canvas area

This is the area where the object selected from the object palette is implemented. If you double-click the object, an edit window appears where you can edit the properties of the object and additional definitions can be made.

Property definition through UI editing window

Tutorial

Add pod and open terminal

Add pod and open terminal

Number Name Detail of fuction
1 pod Add pods
2 terminal Internal terminal operation

terminal click screen

Double-click the pod to set it up as follows.

  • Name: nginx
  • Image: nginx
  • Port: 8080

Labels and Containers Description

labels are tags that Kubernetes uses to look up you.

  • nginx with a tag called App
  • An application called nginx

You can think of Containers (plural) as basically processes.

  • Since more than one process can be spawned in one pod

· Pod

kubectl create pod(This is a command to create a pod.)

  • Click the terminal icon in the image below to click kubectl create pod.

pod/nginx created



kubectl get pod nginx(This is a command to check the status of the nginx pod.)

  • When entering a command, the output is as follows.



kubectl describe pod nginx(This is a command to check nginx pod details.)

  • result screen

· Service

Double-click the service to set it as follows.

  • Name: nginx
  • Image: nginx
  • Target Port: 8080
  • Type: ClusterIp

Difference between ClusterIp of Type and LoadBalancer

  • clusterIp (configuration to allow access only from inside Kubernetes) - suitable for security
  • LoadBalancer (make it accessible from outside) - not secure



Click the arrow icon to connect to the pod(nginx)



kubectl create service(This is a command to create a service.)

service/nginx created

· Ingress

Ingress (which acts as an API gate gateway)

  • Ingress is an API gateway.

Double-click Ingress to set it up as follows.

  • Name: main



kubectl create ingress(This is the command to create an ingress.)

  • result screen
ingress.extensions/main created



kubectl get ingress(This command checks the ingress status.)

  • result screen



Connect with the IP address of ADDRESS

  • Result screen (IP address of ADDRESS obtained by kubectl get ingress)

uEngine has registered trademarks and uses trademarks. and MSA-Ez is licensed under the GNU General Public License version 3.0.