### K8S的三个IP
#### 1. Cluster IP
Cluster IP地址是Service的默认类型,它提供了一个集群内部的虚拟IP地址,用于与Service进行通信。Cluster IP只能从集群内部访问,外部流量无法直接访问。
#### 2. Node IP
Node IP地址是Kubernetes节点的IP地址,用于节点之间的通信。Node IP可以用来直接访问节点上运行的Pod,但不是公共可访问的。
#### 3. Pod IP
Pod IP地址是Pod的IP地址,用于在集群内部进行通信。Pod IP是由CNI(Container Network Interface)插件分配的,每个Pod都有自己的IP地址。
### 实现"K8S的三个IP"流程
下面是实现"K8S的三个IP"的步骤:
| 步骤 | 描述 |
| ---- | ---- |
| 1 | 创建一个Deployment和一个Service |
| 2 | 查找Cluster IP |
| 3 | 查找Node IP |
| 4 | 查找Pod IP |
### 代码示例
#### 步骤1: 创建一个Deployment和一个Service
```yaml
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.17
ports:
- containerPort: 80
---
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
```
#### 步骤2: 查找Cluster IP
在Kubernetes中,您可以使用以下命令来查找Service的Cluster IP地址:
```bash
kubectl get svc nginx-service
```
#### 步骤3: 查找Node IP
您可以使用以下命令来查找节点的IP地址:
```bash
kubectl get nodes -o wide
```
#### 步骤4: 查找Pod IP
要查找Pod的IP地址,您可以使用以下命令:
```bash
kubectl get pods -o wide
```
通过上述步骤,您可以查找到Kubernetes集群中的Cluster IP、Node IP和Pod IP地址。这些IP地址是Kubernetes中非常重要的概念,对于理解和管理集群中的网络通信至关重要。希望这篇文章对您有所帮助!