Skip to content

Commit

Permalink
Merge pull request #26 from iamelisahi/0816new-article
Browse files Browse the repository at this point in the history
fix Typo
  • Loading branch information
brianchennn authored Aug 16, 2023
2 parents 75f24b1 + 2818c8f commit 1524cf1
Showing 1 changed file with 11 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Introduce Kubernetes and Deployment free5GC on Kubernetes with helm
# Introduce Kubernetes and Deploy free5GC on Kubernetes with helm
>[!NOTE]
> Author: Elisa Lee
> Date: 2023/8/16
Expand Down Expand Up @@ -32,7 +32,7 @@ Consider a "node" as a tangible computing entity akin to a physical machine. Ana
In essence, this intricate interplay of nodes, services, and orchestration elements underscores the dynamism and efficiency inherent to the Kubernetes ecosystem. Through these interlocking mechanisms, the platform optimizes resource utilization, ensures effective communication, and enables the seamless execution of applications across a distributed infrastructure.

### Master Nodes
We've now explored all the scalable components and the task runner. Undoubtedly, to orchestrate and oversee everything, a central command hub is necessary – this is referred to as the master mode. Although direct intervention within these nodes isn't typically required to ensure the seamless operation of the entire system, it's still beneficial for you to grasp a basic understanding of its functionality.
We've now explored all the scalable components and the task runner. Undoubtedly, to orchestrate and oversee everything, a central command hub is necessary – this is referred to as the master node. Although direct intervention within these nodes isn't typically required to ensure the seamless operation of the entire system, it's still beneficial for you to grasp a basic understanding of its functionality.
#### API server
It determines which interface among all nodes can be externally accessed. Any subsequent commands you execute will be channeled through this service to the designated node or pod. Furthermore, essential cluster information can also be obtained from this service.
#### Scheduler
Expand Down Expand Up @@ -75,7 +75,7 @@ sudo apt upgrade -y
sudo apt install -y curl wget apt-transport-https
```
#### Install gtp5g
"gtp5g" refers to a tailored Linux kernel module specifically designed to manage packets through PFCP (Packet Forwarding Control Protocol) Information Elements (IEs) such as PDR (Packet Detection Rule) and FAR (Forwarding Action Rule). For comprehensive insights, you can delve into the 3GPP specifications TS 29.281 and TS 29.244.
"gtp5g" refers to a customized Linux kernel module specifically designed to handle packets by PFCP (Packet Forwarding Control Protocol) Information Elements (IEs) such as PDR (Packet Detection Rule) and FAR (Forwarding Action Rule). For comprehensive insights, you can delve into the 3GPP specifications TS 29.281 and TS 29.244.
To employ the UPF (User Plane Function) component effectively, it's imperative to operate on either the 5.0.0-23-generic or 5.4.x version of the Linux kernel. This ensures optimal compatibility and seamless integration with the necessary functionalities.
```bat
sudo apt install gcc
Expand Down Expand Up @@ -144,7 +144,7 @@ kubectl get pods
```bat
kubectl describe pod [pod-name]
```
"kubectl logs"fetches the logs of a specific pod, helping you troubleshoot issues and monitor application output.
"kubectl logs" fetches the logs of a specific pod, helping you troubleshoot issues and monitor application output.

```bat
kubectl logs [pod-name]
Expand All @@ -155,11 +155,11 @@ kubectl exec -it [pod-name] -- [command]
```
"kubectl apply -f " deploys resources defined in a YAML file, such as pods, services, or deployments, to your cluster.
```bat
kubectl apply -f [yaml-file]:
```
"kubectl delete"deletes a specific resource by specifying its type and name, freeing up resources and cleaning the cluster.
kubectl apply -f [yaml-file]
```
"kubectl delete" deletes a specific resource by specifying its type and name, freeing up resources and cleaning the cluster.
```bat
kubectl delete [resource-type] [resource-name]:
kubectl delete [resource-type] [resource-name]
```
"kubectl expose deployment" creates a new service, typically of type LoadBalancer, to expose a deployment's pods to external network traffic.
```bat
Expand All @@ -184,15 +184,15 @@ kubectl get namespaces
```
"kubectl create namespace" creates a new namespace, allowing you to logically separate and organize resources.
```bat
kubectl create namespace [namespace-name]:
kubectl create namespace [namespace-name]
```
"kubectl port-forward" enables you to create a network tunnel between your local machine and a specific pod running within a Kubernetes cluster. This allows you to access services or applications running inside the pod as if they were running on your local machine. The command forwards traffic from a specified local port to a port on the selected pod.
```bat
kubectl port-forward [pod-name] [local-port]:[remote-port]
```

#### Start minikube
Use use flannel as cni plugin to start minikue Flannel is a popular "Container Network Interface" (CNI) plugin used for networking in Kubernetes and other container orchestration platforms. It provides a simple and lightweight network fabric designed to facilitate communication between containers and pods in a distributed environment, such as a Kubernetes cluster.
Use flannel as cni plugin to start minikue. Flannel is a popular "Container Network Interface" (CNI) plugin used for networking in Kubernetes and other container orchestration platforms. It provides a simple and lightweight network fabric designed to facilitate communication between containers and pods in a distributed environment, such as a Kubernetes cluster.
```bat
sudo usermod -aG docker $USER && newgrp docker
minikube start --driver=docker --cpus=4 --memory=8g --disk-size=20g --cni=flannel
Expand Down Expand Up @@ -252,7 +252,7 @@ kubectl port-forward -n prometheus svc/prometheus-grafana 8080:80
```
Execute the following command in your local machine's terminal, and subsequently, you will be able to access the WebConsole via localhost:8080.
```bat
ssh -L localhost:5000:localhost:5000 ubuntu@[VM ip]
ssh -L localhost:8080:localhost:8080 ubuntu@[VM ip]
```
![](./grafana_login.jpg)
A variety of dashboards are available, offering different perspectives for those who are interested. Below is a snapshot of one such dashboard option.
Expand Down

0 comments on commit 1524cf1

Please sign in to comment.