0


Docker和K8S(Kubernetes)集群容器化部署

Docker和Kubernetes(简称K8s)都是目前非常流行的容器化技术。Docker用于创建和管理容器,而Kubernetes则用于管理容器化应用程序的部署扩展和管理

在这里插入图片描述
下面是将Docker和K8s结合使用进行集群容器化部署:

1 安装并配置Docker【Linux系统 --CenterOS虚拟镜像】

在每个集群节点上安装Docker并进行必要的配置,包括设置镜像加速器和配置Docker守护程序的网络。

#执行命令,安装yum-config-manager
yum install-y yum-utils
#下载docker-ce.repo镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#安装DOCKER CE
yum -yinstall docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker

镜像加速器

cd /etc/docker/
vi daemon.json
    {
     "registry-mirrors":["https://gxeo3yz7.mirror.aliyuncs.com"]
    }
#查看该文件cat daemon.json
#重启daemon-reloadsudo systemctl daemon-reload
#重启dockersudo systemctl restart docker

2 创建Docker镜像

使用Dockerfile定义应用程序的环境和依赖,并通过Docker构建命令创建Docker镜像。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/spring-boot-application.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

构建Docker镜像:

docker build -t my-spring-boot-app .

3 将镜像推送到镜像仓库

将Docker镜像推送到可由Kubernetes访问的镜像仓库,如Docker Hub或私有镜像仓库。

4 配置Kubernetes集群

在集群的每个节点上安装和配置Kubernetes控制平面和工作节点组件。
在这里插入图片描述

5 创建Kubernetes部署文件

使用Kubernetes的配置文件(Deployment)定义应用程序的部署规范,包括副本数量、容器端口等。
deployment.yml部署文件

apiVersion: apps/v1
kind: Deployment
metadata:name: my-spring-boot-app
spec:replicas:2selector:matchLabels:app: my-spring-boot-app
  template:metadata:labels:app: my-spring-boot-app
    spec:containers:-name: my-spring-boot-app
        image: my-spring-boot-app:latest
        ports:-containerPort:8080

创建Service配置文件 service.yaml 以使应用程序可以从集群外部访问:

apiVersion: v1
kind: Service
metadata:name: my-spring-boot-app-service
spec:selector:app: my-spring-boot-app
  ports:-protocol: TCP
      port:80targetPort:8080type: LoadBalancer

6 部署应用程序

使用kubectl命令或Kubernetes控制台将应用程序部署到Kubernetes集群。

kubectl apply -f deployment.yml
kubectl apply -f service.yml

在这里插入图片描述

7 监控和管理应用程序

使用Kubernetes的监控和管理工具,如Kubectl、Kubernetes Dashboard等,来监控和管理应用程序的运行状态。

【10个 Kubernetes 监控工具】链接:https://cloud.tencent.com/developer/article/2314987
推荐使用grafana 监控【链接:https://grafana.com/】

8 扩展应用程序

通过修改Kubernetes部署文件中的副本数量或使用自动扩展配置,来实现应用程序的水平扩展。

9 更新应用程序

通过修改Kubernetes部署文件中的镜像版本或使用滚动更新策略,来更新已部署应用程序。

10 进行故障恢复和容错

Kubernetes提供了故障恢复和容错机制,如自动重启失败的容器、在不同节点之间重新调度容器等。

辅助工具k8s的可视化界面【 Kubernetes 多集群管理】

在这里插入图片描述

总之,将Docker和Kubernetes结合使用,可以实现容器化部署和管理应用程序的便捷性、弹性伸缩性和高可用性。


本文转载自: https://blog.csdn.net/IT_WEH_coder/article/details/142063897
版权归原作者 IT_WEH_coder 所有, 如有侵权,请联系我们删除。

“Docker和K8S(Kubernetes)集群容器化部署”的评论:

还没有评论