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 -y install 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-reload
sudo systemctl daemon-reload
#重启docker
sudo 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: 2
  selector:
    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: 80
      targetPort: 8080
  type: 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结合使用,可以实现容器化部署和管理应用程序的便捷性、弹性伸缩性和高可用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_WEH_coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值