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