目录、项目迁移到平台的怎样的流程、基本概念、构建项目镜像、部署项目镜像到平台、项目迁移到平台的怎样的流程、基本概念最小部署单元一组容器的集合一个中的容器共享网络命名空间是短暂的:无状态应用部署:有状态。。。。。。。
目录
1、项目迁移到k8s平台的怎样的流程
2、Kubernetes基本概念
3、构建项目镜像
4、部署项目镜像到Kubernetes平台
1、项目迁移到k8s平台的怎样的流程
2、Kubernetes基本概念
Pod • 最小部署单元 • 一组容器的集合 • 一个Pod中的容器共享网络命名空间 • Pod是短暂的
Controllers • Deployment : 无状态应用部署 • StatefulSet : 有状态应用部署 • DaemonSet : 确保所有Node运行同一个Pod • Job : 一次性任务 • Cronjob : 定时任务
更高级层次对象,部署和管理Pod
Service • 防止Pod失联 • 定义一组Pod的访问策略
Label : 标签,附加到某个资源上,用于关联对象、查询和筛选
Namespaces : 命名空间,将对象逻辑上隔离
3、构建项目镜像
1、准备Jar包
2、制作镜像
解压文件
1
|
yum install -y unzip && unzip tomcat-java-demo-master.zip
|
把这个sql文件导入mysql。
在Node1上下载mysql:5.6的镜像。
1
2
3
4
5
6
|
docker run -p 3306:3306 --name mysql-master \
-v /mydata/mysql/master/log:/var/log/mysql \
-v /mydata/mysql/master/data:/var/lib/mysql \
-v /mydata/mysql/master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.6
|
接下导入sql数据。
可以使用工具导入方便。
修改代码里的配置文件
安装JDk和Maven环境
1
|
yum install -y java-1.8.0-openjdk maven
|
修改maven源
1
2
3
4
5
6
7
8
9
|
vim /etc/maven/settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
|
编译源码 【漫长的等待】
1
|
mvn clean package -D maven.test.skip=true
|
准备使用DockerFile文件来构建镜像。
1
2
3
4
|
FROM lizhenliang/tomcat
LABEL maintainer www.ctnrs.com
RUN rm -rf /usr/local/tomcat/webapps/*
ADD target/*.war /usr/local/tomcat/webapps/ROOT.war
|
构建镜像
1
|
docker build -t lizhenliang/java-demo -f Dockerfile .
|
已经成功
写ymal文件【生成模板,在修改】
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
|
kubectl create deployment java-demo --image=lizhenliang/java-demo --dry-run -o yaml
#内容
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: java-demo
name: java-demo
spec:
replicas: 1
selector:
matchLabels:
app: java-demo
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: java-demo
spec:
containers:
- image: lizhenliang/java-demo
name: java-demo
resources: {}
status: {}
|
重定向,生成本地的yaml
1
|
kubectl create deployment java-demo --image=lizhenliang/java-demo --dry-run -o yaml > deploy.yaml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@master ~]# cat deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: java-demo
name: java-demo
spec:
replicas: 2
selector:
matchLabels:
app: java-demo
template:
metadata:
creationTimestamp: null
labels:
app: java-demo
spec:
containers:
- image: lizhenliang/java-demo
name: java-demo
|
运行
1
|
kubectl apply -f deploy.yaml
|
4、部署项目镜像到Kubernetes平台