kubernets_实战篇(minikube)

一、前提准备

本文环境是基于,在线k8s环境,linux ,x86_64

1,安装工具

  • 安装 minikube
## 下载
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
sudo rpm -Uvh minikube-latest.x86_64.rpm

## 启动
minikube start --force
  • 安装 kubectl
 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
 install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
 
## 检验版本
kubectl version --client

二、启动集群

1,启动集群

minikube start --froce

### 创建Deployment
kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080

2,暴露Pod

暴露Pod 为 kubernetes Service

(1)kubernetes Service 类型

  • (1, ClusterIP:这是默认的Service类型,它创建一个虚拟的Cluster IP地址,用于在Kubernetes集群内部访问Service。

  • (2, ExternalName:这个类型允许将Service映射到DNS名称而不是IP地址。这通常用于将Kubernetes Service映射到外部服务或资源。

  • (3,LoadBalancer:这种类型创建一个云提供商(如AWS、GCP、Azure等)或硬件负载均衡器,用于将外部流量引导到Kubernetes Service。

  • (4,NodePort:这个类型在每个节点上随机选择一个端口,允许通过节点的IP地址和这个随机端口访问Service。通常用于测试或特殊情况。

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

### 查看Service
kubectl get services

### 获取应用运行 IP:端口
minikube service hello-node

三、集群操作

1,Pod操作

### 查看 Deployment
kubectl get deployments

### 查看 Pod
kubectl get pods

### 查看集群时间
kubectl get events

### 查看集群时间
kubectl config view

2,启用插件

### 查看插件列表
minikube addons list

### 启用插件
minikube addons enable 插件名

### 禁用插件
minikube addons disable 插件名

3,清理集群资源

### 删除 service
kubectl delete service hello-node

### 删除 deployment
kubectl delete deployment hello-node

### 删除虚拟机(VM)
minikube delete