筹备

当时筹备好k8s集群,打包你的我的项目并上传到docker仓库

yaml文件

k8s的yaml文件能够本人手动写(不举荐),也能够通过kubectl create生成,这里不多说了,网上相干的文章多的是。。。上面是我的yaml文件。
test-deployment.yaml

---apiVersion: apps/v1kind: Deploymentmetadata:  name: test-k8s  namespace: default  labels:    cloud-service-module: test    app: test-k8sspec:  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: v1kind: ConfigMapmetadata:  name: test-configmapdata:  # 我这里写的是我的项目所须要的环境变量  test_ip: 172.20.151.111  test_port: "5555" # 留神这里的value如果是数字须要加上双引号,否则会报错

test-service.yaml

apiVersion: v1kind: Servicemetadata:  name: test-service  namespace: default  labels:    cloud-service-module: test    cloud-service-type: java    cloud-service-category: backendspec:  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.giftExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=mysql.gift#执行命令systemctl daemon-reloadsystemctl restart docker#查看是否胜利ps -ef|grep docker[root@k8s-node1 ~]# ps -ef|grep dockerroot      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.yamlkubectl apply -f test-configmap.yamlkubectl apply -f test-deployment.yaml

最初通过kubectl get pod,svc命令验证是否部署胜利

至此,咱们的Java我的项目就部署胜利了!

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