# 从零开始学习MicroK8s和K8s

## 简介
Kubernetes(简称K8s)是容器化应用程序的自动化部署、扩展和管理平台,而MicroK8s是一个简单易用的Kubernetes发行版。学习使用MicroK8s和K8s是现代开发者必备的技能之一。在本文中,我将向你介绍如何从零开始学习MicroK8s和K8s。

---

## 第一步:安装MicroK8s

1. 下载MicroK8s的安装脚本
```bash
$ snap install microk8s --classic
```
2. 启动MicroK8s
```bash
$ microk8s.start
```

---

## 第二步:配置Kubectl

1. 安装kubectl命令行工具
```bash
$ sudo snap install kubectl --classic
```
2. 配置kubectl连接到MicroK8s
```bash
$ microk8s.kubectl config view --raw > $HOME/.kube/config
```
3. 测试kubectl是否连接成功
```bash
$ kubectl get nodes
```

---

## 第三步:部署一个示例应用

1. 创建一个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
```
2. 使用kubectl部署该应用
```bash
$ kubectl apply -f nginx-deployment.yaml
```
3. 查看Deployment的状态
```bash
$ kubectl get deployments
```

---

## 第四步:暴露应用的服务

1. 创建一个Service文件
```yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
```
2. 使用kubectl创建Service
```bash
$ kubectl apply -f nginx-service.yaml
```
3. 获取Service的外部IP地址
```bash
$ kubectl get services
```

---

## 第五步:访问部署的应用

1. 通过浏览器或curl访问应用
```bash
$ curl http://
```

---

通过以上步骤,你已经学会了如何安装MicroK8s,使用Kubectl部署应用并暴露服务。希望这篇文章可以帮助你更好地了解和使用MicroK8s和K8s。祝你学习成功!