zoukankan      html  css  js  c++  java
  • k8s 平台部署java网站项目

    1. 使用控制器部署镜像

    image

    2. 案例

    2.1 将镜像仓库认证凭据保存在k8s secret 中

    [root@k8s-master ~]# kubectl create secret docker-registry harbor-auth --docker-username=admin --docker-password=12345678 --docker-server=harbor.scajy.org
    secret/harbor-auth created
    

    2.2 在yaml中使用这个认证凭据

    imagePullSecrets:
    - name: harbor-auth
    

    2.3 创java-demo目录

    [root@k8s-master ~]# cd yaml/
    [root@k8s-master yaml]# ll
    总用量 0
    drwxr-xr-x. 2 root root 76 12月  8 15:31 ingress
    [root@k8s-master yaml]# mkdir -p java-demo
    [root@k8s-master yaml]# cd java-demo/
    

    2.4 编写k8s 发布的yaml配置文件

    [root@k8s-master java-demo]# vim java_demo.yaml 
    [root@k8s-master java-demo]# cat java_demo.yaml 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: java-demo
      namespace: default
      labels:
        app: java-demo
      annotations:       # 记录回滚参数
        kubernetes.io/change-cause: "java-demo:v1"   #记录到revision中的内容,记录版本号
    spec:
      replicas: 3 # Pod副本预期数量
      revisionHistoryLimit: 10 # RS历史版本保存数量
      selector:
        matchLabels:
          app: java-demo
      strategy:
        rollingUpdate:
          maxSurge: 25%             # 滚动更新过程最大pod副本数
          maxUnavailable: 25%       # 滚动更新过程中最大不可用pod副本数,
        type: RollingUpdate
      template:
        metadata:
          labels:
            app: java-demo # Pod副本的标签
        spec:
          imagePullSecrets:
          - name: harbor-auth
          containers:
          - name: java-demo
            image: harbor.scajy.org/scajy/java:v1         # 获取容器
            ports:
            - containerPort: 8080
            resources:
              requests:              # 启动容器最小资源
                memory: "256Mi"
                cpu: "500m"
              limits:                 # 容器的最大资源限制
                memory: "512Mi"       # 容器的最大资源内存限制128M
                cpu: "1000m"           # 容器的最大资源cpu的核数限制,500m=0.5核数
            readinessProbe:          # 存活检查,如果失败,将杀死容器,来重启
              httpGet:
                port: 8080
                path: /
              initialDelaySeconds: 20 #启动容器后多少秒健康检查
              periodSeconds: 20 #以后间隔多少秒检查一次
            livenessProbe:   # 就绪检查,失败就会剔除 service 
              httpGet:
                port: 8080
                path: /
    

    2.5 启动服务

    [root@k8s-master java-demo]# kubectl apply -f java_demo.yaml 
    deployment.apps/java-demo created
    

    2.6 检查服务是否启动

    [root@k8s-master java-demo]# kubectl get pods
    NAME                         READY   STATUS    RESTARTS   AGE
    java-demo-67866dbff6-ckkhd   1/1     Running   0          28m
    java-demo-67866dbff6-gvkt6   1/1     Running   0          28m
    java-demo-67866dbff6-mgd8p   1/1     Running   0          28m
    nginx-6799fc88d8-bvg8q       1/1     Running   0          39h
    
  • 相关阅读:
    ie6下使PNG背景图片透明的方法
    CSS图片转换成模糊(毛玻璃)效果兼容版
    对象Object下的属性和方法
    Collection 回顾
    Java IO学习笔记:File类
    Android开发之Instrumentation(自动化测试)
    Android开发之ActivityManager
    Android开发之WindowManager详解
    在Intel® Galileo Gen 2开发板上运行Debian操作系统
    VS2008下安装与配置DirectShow SDK 9.0
  • 原文地址:https://www.cnblogs.com/scajy/p/15533419.html
Copyright © 2011-2022 走看看