【K8S】三、使用Kubernetes部署应用及Dashbaord安装

编程入门 行业动态 更新时间:2024-10-11 09:30:58

【<a href=https://www.elefans.com/category/jswz/34/1768862.html style=K8S】三、使用Kubernetes部署应用及Dashbaord安装"/>

【K8S】三、使用Kubernetes部署应用及Dashbaord安装

使用Kubernetes部署应用及Dashbaord安装

  • 一、Kubernetes部署“容器化应用”
    • 何为“容器化应用”?
    • 在Docker里面部署一个应用怎么部?
    • 在k8s里面部署一个应用怎么部?
    • 总结一下Kubernetes部署容器化应用的步骤:
  • 二、在Kubernetes集群中部署一个Nginx
  • 三、在Kubernetes集群中部署SpringBoot应用
    • 1、自定义JDK镜像
    • 2、 构建项目镜像
    • 3、 空运行测试
    • 4、 Yml文件方式部署(也可以通过命令部署)
    • 5、命令方式部署
  • 四、部署Kubernetes Dashbaord

一、Kubernetes部署“容器化应用”

何为“容器化应用”?

通俗点来说,就是你把一个程序放在docker里部署,这个docker应用就是容器化应用;
比如:在docker里面部署一个springboot,这个docker+springboot一起就是一个容器化应用;
在Docker里面部署一个nginx,这个docker+nginx一起就是一个容器化应用;

在Docker里面部署一个应用怎么部?

简单来说就是 镜像 -> 启动镜像得到一个Docker容器;

在k8s里面部署一个应用怎么部?

SpringBoot程序–>打包jar包或war包–>通过Dockerfile文件生成docker镜像–>通过k8s部署这个镜像–>部署完毕;

总结一下Kubernetes部署容器化应用的步骤:

1、制作镜像;(自己Dockerfile文件制作,或者 从仓库pull)
2、通过控制器管理pod(其实就是把镜像启动得到一个容器,容器在pod里)
3、暴露应用,以便外界可以访问;

二、在Kubernetes集群中部署一个Nginx

1、制作镜像(有现成的,不需要制作)
2、kubectl create deployment nginx --image=nginx
3、kubectl expose deployment nginx --port=80 --type=NodePort
4、访问应用;
访问地址:http://NodeIP:Port

查看一下,相关命令:
kubectl get node(s)
kubectl get service(s)
kubectl get deployment (deploy)
kubectl get pod(s)
//删除service
kubectl delete service nginx
//删除nginx的控制器
kubectl delete deployment nginx
//删除pod
kubectl delete pod nginx-6799fc88d8-zc48m(pod名字)
//kubectl命令帮助
kubectl --help
Docker镜像加速器:
/etc/docker/daemon.json 
{
"registry-mirrors": [""]
}

三、在Kubernetes集群中部署SpringBoot应用

1、项目打包(jar、war)–>可以采用一些工具git、maven、jenkins
2、制作Dockerfile文件,生成镜像;
3、kubectl create deployment your-springboot --image=你的镜像
4、你的springboot就部署好了,是以docker容器的方式运行在pod里面的;

Mater控制Node --> service --> deployment(控制器) --> pod --> docker

1、自定义JDK镜像

FROM centos:latest
MAINTAINER cat
ADD jdk-8u251-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
CMD java -version
构建镜像:docker build -t jdk1.8.0_251 .
运行镜像:docker run -d ac811de1958 (镜像id)

2、 构建项目镜像

FROM jdk1.8.0_251
MAINTAINER cat
ADD springboot-k8s-1.0.0.jar /opt
RUN chmod +x /opt/springboot-k8s-1.0.0.jar
CMD java -jar /opt/springboot-k8s-1.0.0.jar
构建镜像:docker build -t springboot-k8s-1.0.0-jar .

3、 空运行测试

kubectl create deployment springboot-k8s --image=springboot-k8s-1.0.0-jar --dry-run -o yamlkubectl create deployment springboot-k8s --image=springboot-k8s-1.0.0-jar --dry-run -o jsonkubectl create deployment springboot-k8s --image=springboot-k8s-1.0.0-jar --dry-run -o yaml > deploy.yamlkubectl create deployment springboot-k8s --image=springboot-k8s-1.0.0-jar --dry-run -o json> deploy.json

4、 Yml文件方式部署(也可以通过命令部署)

kubectl apply -f boot-deploy.yaml  (yaml是资源清单)等价于:kubectl create deployment springboot-k8s --image=38-springboot-k8s-1.0.0-jar部署后查看一下:
kubectl get pods

查看pod详细信息:

kubectl describe pods springboot-k8s-5c5c46d65f-4s52c(pod名称)

检查是否创建了deployments任务:

kubectl get deployments

查看pod日志:

kubectl logs springboot-k8s-575778f6bf-drmbm(名称)

暴露服务端口:

kubectl expose deployment springboot-k8s --port=8080 --type=NodePort

5、命令方式部署

kubectl create deployment springboot-k8s --image=springboot-k8s-1.0.0-jar

四、部署Kubernetes Dashbaord

Kubernetes仪表板是Kubernetes集群的基于Web的通用UI,它允许用户管理群集中运行的应用程序并对其进行故障排除,以及管理群集本身;
Github:
下载yaml的资源清单

wget .0.4/aio/deploy/recommended.yaml

修改一下下载下面的recommended.yaml文件,修改红框的两个地方

应用yaml的资源清单

kubectl apply -f recommended.yaml (清单)


或者直接一步到位:

kubectl apply -f .0.4/aio/deploy/recommended.yaml

查看一下pod是否成功,主要命名空间是kubernetes-dashboard

kubectl get pod -n kubernetes-dashboard

然后浏览器访问:

表示需要使用https访问;
https://192.168.172.134:30001/


需要输入token,token的生成采用下面的三条命令:

kubectl create serviceaccount dashboard-admin -n kube-systemkubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-adminkubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

更多推荐

【K8S】三、使用Kubernetes部署应用及Dashbaord安装

本文发布于:2024-03-23 23:31:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744130.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:K8S   Kubernetes   Dashbaord

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!