Kubernetes(K8s)是一种用于自动部署、扩展和管理容器化应用程序的开源平台。对于Linux运维工程师来说,掌握Kubernetes技能是非常重要的。本文将向刚入行的小白介绍如何实现“linux运维工程师必备技能”,包括安装和配置Kubernetes集群,并展示一些常用的命令示例。

### 步骤概览

| 步骤 | 操作 | 代码示例 |
|------|-------------------------|--------------------------------------------------------------|
| 1 | 安装Docker | `sudo apt-get update`
`sudo apt-get install docker.io` |
| 2 | 安装Minikube | `sudo curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64`
`sudo chmod +x minikube`
`sudo mv minikube /usr/local/bin/`
`minikube start` |
| 3 | 部署Kubernetes Dashboard | `kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml` |
| 4 | 访问Dashboard | `kubectl proxy`
在浏览器中输入`http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/` |
| 5 | 创建Deployment | `kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4` |
| 6 | 暴露Deployment | `kubectl expose deployment hello-node --type=NodePort --port=8080` |
| 7 | 查看服务状态 | `kubectl get services` |
| 8 | 访问应用 | `minikube service hello-node` |

### 操作指南

#### 步骤1:安装Docker
```bash
sudo apt-get update
sudo apt-get install docker.io
```
这段代码的作用是更新系统包列表并安装Docker,Docker是Kubernetes使用的容器运行时环境。

#### 步骤2:安装Minikube
```bash
sudo curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo chmod +x minikube
sudo mv minikube /usr/local/bin/
minikube start
```
这段代码的作用是安装和启动Minikube,Minikube是一个在本地运行Kubernetes集群的工具。

#### 步骤3:部署Kubernetes Dashboard
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
```
这段代码的作用是部署Kubernetes Dashboard,Dashboard是一个Web管理界面,方便用户查看和管理集群中的资源。

#### 步骤4:访问Dashboard
```bash
kubectl proxy
```
```bash
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```
这段代码的作用是启动代理,并在浏览器中输入对应的URL以访问Dashboard。

#### 步骤5:创建Deployment
```bash
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
```
这段代码的作用是创建一个Deployment,用于运行一个简单的容器化应用。

#### 步骤6:暴露Deployment
```bash
kubectl expose deployment hello-node --type=NodePort --port=8080
```
这段代码的作用是暴露Deployment,使其可以通过NodePort方式访问。

#### 步骤7:查看服务状态
```bash
kubectl get services
```
这段代码的作用是查看当前服务的状态,包括IP地址和端口信息。

#### 步骤8:访问应用
```bash
minikube service hello-node
```
这段代码的作用是通过Minikube提供的服务命令访问部署的应用。

通过以上步骤,你可以快速搭建一个简单的Kubernetes集群,并部署一个简单的容器化应用。希望这些代码示例对你有所帮助,祝你学习顺利!