思路就是修改pod文件中对应文件夹上的证书,但pod是可以临时修改但无法长时间保存,因此,需要针对部署文件修改存储证书的位置到本地服务器上指定位置,也就是逃逸位置,我这边为了简单没有使用vpc等功能。如果需要启用kubernets的存储安全功能,那么可能需要考虑这方面的配置。同时,如果需要80和443并存,那么还需要做两个pod,这个可能是因为pod在部署的时候映射端口时标签不能同名有关。
pull 映像文件
1、登录188镜像仓库。
docker login -u admin --password-stdin 10.82.118.188:80
2、下载对应仓库内部的文件。
docker pull 10.82.118.188/zhangz/pmis@sha256:c9d8221e46b1667f94b0419e303806575043623225f26fce841cfe5ad6f3e95a docker tag 3ebbab065dd6 10.82.118.188:80/zhangz/pmis:v1.0.3
3、创建部署文件(myDep.yaml)。
apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: pmis name: pmis spec: replicas: 3 selector: matchLabels: app: pmis strategy: {} template: metadata: creationTimestamp: null labels: app: pmis spec: containers: - image: 10.82.118.188:80/zhangz/pmis:v1.0.3 name: pmis ports: - name: tcp-8080 containerPort: 8080 protocol: TCP - name: tcp-443 containerPort: 443 protocol: TCP volumeMounts: - mountPath: /mnt name: test-key - mountPath: /opt/apache-tomcat-8.5.32/conf name: test-volume resources: {} imagePullPolicy: IfNotPresent restartPolicy: Always imagePullSecrets: - name: harbor-login-registry schedulerName: default-scheduler volumes: - name: test-volume hostPath: # 宿主上目录位置 path: /root/sec_ac/pmis/tomcat_info # 此字段为可选 type: Directory - name: test-key hostPath: # 宿主上目录位置 path: /root/sec_ac/pmis # 此字段为可选 type: Directory
kubectl apply -f myDep.yaml # kubectl delete -f myDep.yaml
4、创建服务
# kubectl create service nodeport hltps --tcp=8080:8080 --dry-run=client -o yaml kubectl create service nodeport pmis --tcp=443:443
5、关注我下次给大家分享“一句话”就阔学上网的正确姿势。