## 为什么Kubernetes被简称为K8s

### 一、整体流程

| 步骤 | 内容 |
| ---- | ---- |
| 1 | 理解Kubernetes是一个开源系统,用于自动化部署、扩展和管理容器化应用程序。 |
| 2 | 明白Kubernetes这个单词在发音上有13个字母。 |
| 3 | 使用首字母K和最后一个字母s,中间的字母用8替代,缩写为K8s。 |

### 二、具体实现步骤及代码示例

1. **安装kubectl**

```bash
# curl下载kubectl二进制文件
curl -LO "https://dl.k8s.io/release/v1.22.2/bin/linux/amd64/kubectl"

# 赋予执行权限
chmod +x kubectl

# 移动kubectl到系统PATH目录下
sudo mv kubectl /usr/local/bin/
```

2. **创建一个Kubernetes集群**

```bash
# 安装minikube,用于在本地启动一个小型Kubernetes集群
brew install minikube

# 启动minikube集群
minikube start
```

3. **部署一个示例应用**

```yaml
# 创建一个Deployment的YAML文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
```

```bash
# 使用kubectl创建Deployment
kubectl apply -f nginx-deployment.yaml
```

4. **暴露应用**

```bash
# 创建一个Service的YAML文件
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
```

```bash
# 使用kubectl创建Service,将Deployment内的应用暴露出来
kubectl apply -f nginx-service.yaml
```

5. **访问应用**

```bash
# 获取Service的外部IP地址
kubectl get services

# 在浏览器中访问外部IP地址,即可查看部署的nginx应用
```

通过以上步骤,你已经成功部署了一个简单的nginx应用到Kubernetes集群中,并通过Service暴露出来,可以在浏览器中访问查看。同时,你也了解了为什么Kubernetes被简称为K8s的原因。希望这篇文章对你有所帮助!