系列链接
Kubernetes系列之一:在Ubuntu上快速搭建一个集群Demo
Kubernetes系列之二:将Slave节点加入集群
Kubernetes系列之三:部署你的第一个应用程序到k8s集群
Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群
Kubernetes系列之五:使用yaml文件创建service向外暴露服务
Kubernetes系列之六:安装k8s通用的Web UI(Dashboard)
Kubernetes系列之N:使用K8s遇到的问题
部署你的第一个应用程序到k8s集群
看到这里,求知欲饥渴难耐的你一定在想,怎么部署的我们应用程序到集群里面去呢?来个简单的,只需要两步:(这里本文使用nginx镜像当我们的应用程序,因为nginx 简单,运行起来后直接可以用浏览器访问网页了。)
第一步:在master 节点上创建一个deployment
1
2 1kubectl create deployment nginx --image=nginx
2
效果如下,可以看到一个叫nginx的deployment创建成功了。
1
2
3
4
5
6
7
8 1root@ubuntu:/home/cong# kubectl create deployment nginx --image=nginx
2deployment.apps/nginx created
3
4root@ubuntu:/home/cong# kubectl get deployments
5NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
6nginx 1 1 1 1 11m
7
8
第二步:创建一个service
1
2 1kubectl create service nodeport nginx --tcp 80:80
2
效果如下,可以看到一个叫nginx的service创建成功了,这里kubectl get svc是kubectl get services的简写。
1
2
3
4
5
6
7
8 1root@ubuntu:/home/cong# kubectl create service nodeport nginx --tcp 80:80
2service/nginx created
3
4root@ubuntu:/home/cong# kubectl get svc
5NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
6kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3d
7nginx NodePort 10.107.237.157 <none> 80:30601/TCP 11s
8
在slave节点上执行下面的命令验证一下nginx有没有部署成功。
1
2
3
4
5
6
7 1curl localhost:30601
2
3或者
4
5curl kube-slave:30601
6
7
效果如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 1root@ubuntu:/home/cong# curl localhost:30601
2<!DOCTYPE html>
3<html>
4<head>
5<title>Welcome to nginx!</title>
6<style>
7 body {
8 width: 35em;
9 margin: 0 auto;
10 font-family: Tahoma, Verdana, Arial, sans-serif;
11 }
12</style>
13</head>
14<body>
15<h1>Welcome to nginx!</h1>
16<p>If you see this page, the nginx web server is successfully installed and
17working. Further configuration is required.</p>
18
19<p>For online documentation and support please refer to
20<a href="http://nginx.org/">nginx.org</a>.<br/>
21Commercial support is available at
22<a href="http://nginx.com/">nginx.com</a>.</p>
23
24<p><em>Thank you for using nginx.</em></p>
25</body>
26</html>
27
28
用浏览器打开试试,nginx的首页显示出来了。
简单吧,是不是信心大增了?!
为了练习更多复杂的命令,我们将上面建好的deployments/nginx, services/nginx 删除先,命令如下:
1
2
3
4 1root@ubuntu:/home/cong# kubectl delete deployments/nginx services/nginx
2deployment.extensions "nginx" deleted
3service "nginx" deleted
4
好了,你应用程序部署的处女作就完美结束了