1、在k8s中部署利用流程

  • 制作镜像(个别通过Dockerfile)
    1、hub.docker.com(规范镜像)
    2、满足个性化定制化需要(标准化、调优参数等)
  • 控制器治理Pod
  • 裸露应用服务
  • 对外公布利用
  • 治理日志/集群监控

2、应用Deployment部署Java利用

[root@k8s-m ~]#  docker run -d --name=web -p 80:80 e a=test nginx
[root@k8s-m ~]# kubectl create --help[root@k8s-m ~]# kubectl create deployment --help
[root@k8s-m ~]# docker pull yejf/java-demo
[root@k8s-m ~]# kubectl create deployment web --image=yejf/java-demo:latest[root@k8s-m ~]# kubectl get podNAME                          READY   STATUS    RESTARTS   AGEnginx-f89759699-bxftk         1/1     Running   0          17hweb-7757ff5c-pt6jd            1/1     Running   0          83s
[root@k8s-m ~]# kubectl get deploy,podsNAME                         READY   UP-TO-DATE   AVAILABLE   AGEdeployment.apps/nginx        1/1     1            1           2d16hdeployment.apps/web          1/1     1            1           2m53sNAME                              READY   STATUS    RESTARTS   AGEpod/nginx-f89759699-bxftk         1/1     Running   0          17hpod/web-7757ff5c-pt6jd            1/1     Running   0          2m53s
[root@k8s-m ~]# kubectl get pod -o wideNAME                          READY   STATUS    RESTARTS   AGE     IP               NODE     NOMINATED NODE   READINESS GATESnginx-f89759699-bxftk         1/1     Running   0          17h     10.244.215.77    k8s-n1   <none>           <none>web-7757ff5c-pt6jd            1/1     Running   0          5m55s   10.244.111.205   k8s-n2   <none>           <none>[root@k8s-m ~]#
[root@k8s-m ~]# kubectl expose deployment web --port=80 --target-port=8080 --name=web --type=NodePort
[root@k8s-m ~]# kubectl get serviceNAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        2d17hnginx        NodePort    10.100.4.40      <none>        80:30026/TCP   2d16hweb          NodePort    10.104.68.193    <none>        80:32583/TCP   47s[root@k8s-m ~]# kubectl get svcNAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        2d17hnginx        NodePort    10.100.4.40      <none>        80:30026/TCP   2d16hweb          NodePort    10.104.68.193    <none>        80:32583/TCP   51s

http://192.168.X.63:32853

3、应用YAML部署Java利用

# vim java-demo.yamlapiVersion: apps/v1kind: Deploymentmetadata:  name: java-demo  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      app: java-demo  template:    metadata:      labels:        app: java-demo    spec:      containers:      - name: nginx        image: yejf/java-demo        ports:
[root@k8s-m ~]# kubectl apply -f java-demo.yamldeployment.apps/java-demo created[root@k8s-m ~]# kubectl get deployNAME         READY   UP-TO-DATE   AVAILABLE   AGEjava-demo    1/1     1            1           41snginx        1/1     1            1           2d17hweb          1/1     1            1           27m[root@k8s-m ~]# kubectl get podNAME                          READY   STATUS    RESTARTS   AGEjava-demo-d9787d978-7dcp6     1/1     Running   0          50snginx-f89759699-bxftk         1/1     Running   0          18hweb-7757ff5c-pt6jd            1/1     Running   0          28m

2、利用部署/降级、回滚和弹性伸缩