- 利用k8s部署Java项目
- k8s 部署jenkins
#创建工作目录
[root@master ~]# mkdir -p /opt/halo/files
[root@master ~]# cd /opt/halo/
[root@master halo]# touch Dockerfile
[root@master halo]# ls
Dockerfile files
#制作镜像
FROM openjdk:18-jdk-alpine
COPY files/halo-1.4.0.jar /usr/local/halo.jar
ENTRYPOINT ["java","-jar","/usr/local/halo.jar"]
[root@master halo]# docker build -t neawalke/halo:v1 .
[root@master halo]# docker images |grep halo
neawalke/halo v1 cdf9f5edf641 24 seconds ago 407MB
#将镜像推送至镜像仓库
[root@master halo]# docker login
[root@master halo]# docker push neawalke/halo:v1
#开始写k8s的资源清单
[root@master ~]# cd /opt/test
[root@master mainfest]# vi halo-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: halo
labels:
app: halo
spec:
replicas: 2
selector:
matchLabels:
app: halo
template:
metadata:
name: halo
labels:
app: halo
spec:
containers:
- image: neawalke/halo:v1
imagePullPolicy: IfNotPresent
name: halo
---
apiVersion: v1
kind: Service
metadata:
name: halo
spec:
ports:
- port: 8090
targetPort: 8090
nodePort: 30000
selector:
app: halo
type: NodePort
#使用这个资源清单创建控制器以及svc
[root@master mainfest]# kubectl apply -f halo-deploy.yaml
deployment.apps/halo created
service/halo created
[root@master test]# kubectl get pods,svc
NAME READY STATUS RESTARTS AGE
pod/halo-7d7497586f-8bn2s 1/1 Running 0 6s
pod/halo-7d7497586f-g9ld6 1/1 Running 0 6s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/halo NodePort 10.97.59.203 8090:30000/TCP 6s
service/haproxy NodePort 10.106.214.171 80:32498/TCP 4d22h
service/kubernetes ClusterIP 10.96.0.1 443/TCP 6d
网页访问
#构建tomcat镜像
[root@master ~]# mkdir -p /java/files
[root@master ~]# touch dockerfile
[root@master ~]# ls /java/
dockerfile files
[root@master ~]# ls /java/files/
apache-tomcat-9.0.35.tar.gz index.jsp install.sh jenkins-2.319.war jenkins-2.326.war
#编写一个tomcat的部署脚本
[root@master ~]# cat /java/files/install.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-base.repo https://mirrors.aliyun.com/repo/Centos-$(awk -F '"' 'NR==5{print $2}' /etc/os-release).repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-base.repo
yum install -y java-1.8.0-openjdk
ln -s /usr/local/apache-tomcat-${version}/ /usr/local/tomcat
cp /opt/jenkins-2.319.war /usr/local/tomcat/webapps/
#编写一个java测试文件
[root@master files]# pwd
/java/files
cat > index.jsp <
test page
<%
out.println("Hello World");
%>


