轻量级Kubernetes之k3s:12:部署一个nginx的应用

在这里插入图片描述
在搭建的k3s的集群上创建和部署一个nginx应用,来确认一下最基础的动作是否能够完成。

集群环境准备

hostnameIP内存硬盘操作系统用途
host121192.168.163.121512MB8GCentOS 7.6Master
host122192.168.163.122512MB5GCentOS 7.6Node
host123192.168.163.123512MB5GCentOS 7.6Node
host124192.168.163.124512MB5GCentOS 7.6Node
  • 环境搭建可参看: https://blog.csdn.net/liumiaocn/article/details/103318341

  • 搭建完毕的版本和节点确认

[root@host121 ansible]# kubectl get node -o wide
NAME      STATUS   ROLES    AGE     VERSION         INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
host121   Ready    master   4m48s   v1.16.3-k3s.2   192.168.163.121           CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   containerd://1.3.0-k3s.4
host123   Ready       11s     v1.16.3-k3s.2   192.168.163.123           CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   containerd://1.3.0-k3s.4
host122   Ready       11s     v1.16.3-k3s.2   192.168.163.122           CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   containerd://1.3.0-k3s.4
host124   Ready       11s     v1.16.3-k3s.2   192.168.163.124           CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   containerd://1.3.0-k3s.4
[root@host121 ansible]#

使用kubectl run创建一个deployment

  • 创建一个deployment
[root@host121 ~]# kubectl run --image=nginx nginx-app --port=80
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx-app created
[root@host121 ~]#

注:由于此处使用的仍是旧的方式,提示此种方式需要用pod的方式替代,只是验证动作,并不影响。

  • 确认结果
    可以看到已经开始进入到ContainerCreating状态了,如果在各个节点都事前拉取nginx的镜像,速度会明显快一些。
[root@host121 ~]# kubectl get pods -o wide
NAME                         READY   STATUS              RESTARTS   AGE    IP       NODE      NOMINATED NODE   READINESS GATES
nginx-app-69ff7df578-74b2f   0/1     ContainerCreating   0          2m8s      host122              
[root@host121 ~]# 
  • 等待状态变成Running

等待知道此pod状态变成Running

[root@host121 ~]# kubectl get pods
NAME                         READY   STATUS    RESTARTS   AGE
nginx-app-69ff7df578-74b2f   1/1     Running   0          15m
[root@host121 ~]#

使用kubectl exec

通过kubectl get node命令发现此ningx的pod运行所在的节点信息为host122,执行日志如下所示

[root@host121 ~]# kubectl get pod -o wide
NAME                         READY   STATUS    RESTARTS   AGE   IP          NODE      NOMINATED NODE   READINESS GATES
nginx-app-69ff7df578-74b2f   1/1     Running   0          18m   10.42.3.3   host122              
[root@host121 ~]#

在实际使用中经常会有需求进入到pod中确认现场状况,可以通过kubectl exec来进入此nginx的pod中

[root@host121 ~]# kubectl exec -it nginx-app-69ff7df578-74b2f sh
# uname -a
Linux nginx-app-69ff7df578-74b2f 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 GNU/Linux
# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  srv  sys  tmp  usr  var
# 

可以看到kebectl exec可以成功进入pod内,并可以正常执行普通命令进行确认

expose服务

使用expose命令以NodePort的方式生成服务

[root@host121 ~]# kubectl expose deployment nginx-app --port=80 --type=NodePort --target-port=80 --name=nginx-service
service/nginx-service exposed
[root@host121 ~]# 

成功执行之后即可使用kubectl get service 命令来确认结果了

[root@host121 ~]# kubectl get service -o wide
NAME            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE   SELECTOR
kubernetes      ClusterIP   10.43.0.1              443/TCP        50m   
nginx-service   NodePort    10.43.43.197           80:32456/TCP   25s   run=nginx-app
[root@host121 ~]# 

服务访问确认

可以看到此服务已经在端口32456暴露出来,结合上面确认的此pod的位置为host122,通过ip和端口即可访问nginx服务了

[root@host121 ~]# curl http://192.168.163.122:32456



Welcome to nginx!



Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

[root@host121 ~]#

总结

虽然在细节上仍然有一些小问题,比如coredns有时无法处于ready的状态,但是整体来说,pod、deployment、service的创建,以及kubectl exec等常用操作都很顺畅。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部