码迷,mamicode.com
首页 > 编程语言 > 详细

k8s部署Java项目实战

时间:2021-06-10 18:39:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ecs   svc   文章   nerd   ica   通过   yam   emc   java项目   

准备

事先准备好k8s集群,打包你的项目并上传到docker仓库

yaml文件

k8s的yaml文件可以自己手动写(不推荐),也可以通过kubectl create生成,这里不多说了,网上相关的文章多的是。。。下面是我的yaml文件。
test-deployment.yaml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-k8s
  namespace: default
  labels:
    cloud-service-module: test
    app: test-k8s
spec:
  replicas: 3
  selector:
    matchLabels:
      cloud-service-module: test
      app: test-k8s
  template:
    metadata:
      labels:
        app: test-k8s
        cloud-service-module: test
    spec:
      restartPolicy: Always
      containers:
        - name: test-k8s
          image: "test-k8s" # 这里填你自己项目的镜像地址
          imagePullPolicy: "IfNotPresent"
          envFrom:
          - configMapRef:
              name: test-k8s-configmap
          ports:
            - name: tomcat
              containerPort: 8080
          readinessProbe:
            tcpSocket:
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 10    

test-configmap.yaml

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: test-configmap
data:
  # 我这里写的是项目所需要的环境变量
  test_ip: 172.20.151.111
  test_port: "5555" # 注意这里的value如果是数字需要加上双引号,否则会报错

test-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: test-service
  namespace: default
  labels:
    cloud-service-module: test
    cloud-service-type: java
    cloud-service-category: backend
spec:
  type: ClusterIP
  ports:
  - name: tomcat
    port: 8080
    targetPort: 8080

部署

登陆docker仓库

在你的k8s集群上需要先登录项目镜像所在的仓库,如果不执行该操作,创建pod的时候镜像会拉取失败!!

docker login --username=xxx [你的仓库地址]

看到下图就是登陆成功
技术图片

注意,登录docker仓库可能会出现如下问题

Error response from daemon: Get https://xxx: dial tcp xxx:443: connect: connection refused

解决方案

vi /usr/lib/systemd/system/docker.service

#添加--insecure-registry=mysql.gift
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=mysql.gift

#执行命令
systemctl daemon-reload
systemctl restart docker

#查看是否成功
ps -ef|grep docker

[root@k8s-node1 ~]# ps -ef|grep docker
root      7730     1  0 09:26 ?        00:00:20 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=xxx

重新登录docker仓库问题解决

创建pod

分别执行命令:

kubectl apply -f test-service.yaml
kubectl apply -f test-configmap.yaml
kubectl apply -f test-deployment.yaml

最后通过kubectl get pod,svc命令验证是否部署成功
技术图片

至此,我们的Java项目就部署成功了!

参考文章:https://blog.csdn.net/java_w/article/details/103677896

k8s部署Java项目实战

标签:ecs   svc   文章   nerd   ica   通过   yam   emc   java项目   

原文地址:https://www.cnblogs.com/babyanran/p/14870717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!