k8s + harbor + docker image

java服务构建镜像http://blog.csdn.net/LXYuuuuu/article/details/108595585
nginx+vue(static)构建镜像http://blog.csdn.net/LXYuuuuu/article/details/108602739
tomcat++jdk+war/vuestatic)构建镜像http://blog.csdn.net/LXYuuuuu/article/details/108625814

1.k8s部署(两种方式)

1.1 页面部署

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DLLtKPmr-1600138658997)(mdPicture/1600134962279.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5znTa3I4-1600138658997)(mdPicture/1600135078645.png)]

  • 命名空间可以再下拉框中进行添加

    • 镜像拉取的secret
      • 如果首次添加harbor,需要如下配置

        • 根据配置的harbor域名,登录到harbor当中,如:

          • docker login 10.81.22.192:9090
        • 输入用户名和密码,即可登录成功。登录完成之后会在config.json文件中保存授权令牌。通过以下命令查看config.json

          • cat ~/.docker/config.json
        • 文件内容如下

          • 	{
            	  "auths": {
            	  "10.81.22.192:9090": {
               			 "auth": "YWRtaW46SGFyYm9yMTIzNDU="
            			}
            		},
            	  "HttpHeaders": {
            		 "User-Agent": "Docker-Client/18.06.1-ce (linux)"
            		}
            	}
            
        • cat /root/.docker/config.json | base64 -w 0设置

        • 命令生成secret

        •   kubectl create secret docker-registry harbor-sat-31 --namespace=maintenance --docker-server=172.18.10.31:9090 --docker-username=admin --docker-password=Harbor12345 --docker-email=admin@example.com
          
	
	
- 如果已经添加好harbor,在主节点执行`cat /root/.docker/config.json | base64 -w 0`
		得到Base64 编码内容,可以在下拉框中进行添加,自定义名称,将得到的编码内容拷贝即可
		
	  	
- 指定节点

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200915110415808.png#pic_center)

  - 注意在spec子标签中添加

    - 其中node:k8snode2是命令设置的label

      - kubectl label node k8snode2  node=k8snode2(设置标签)

      - kubectl get nodes --show-labels(查看所有标签)

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020091511050618.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xYWXV1dXV1,size_16,color_FFFFFF,t_70#pic_center)


- 指定端口
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200915110617536.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xYWXV1dXV1,size_16,color_FFFFFF,t_70#pic_center)

  - 在指定位置修改需要设置的端口即可
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200915110637252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xYWXV1dXV1,size_16,color_FFFFFF,t_70#pic_center)

**1.2 k8s yaml编写部署服务**
- 命令生成文件(也可以直接使用下面的文件)

```java
kubectl create deployment java-demo --image=10.81.22.192:9090/test/springbootdemo:20200911075759 --port=9084 --dry-run -o yaml > deploy.yaml
  • vim deploy.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      creationTimestamp: null
      labels:
        app: java-demo-2020019141404 #自定义
      name: java-demo-2020019141404 #自定义
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: java-demo-2020019141404 #自定义
      strategy: {}
      template:
        metadata:
          creationTimestamp: null
          labels:
            app: java-demo-2020019141404 #自定义
        spec:
          nodeSelector:
            node: k8snode2 #指定节点,同页面配置
          containers:
          - image: 10.81.22.192:9090/test/springbootdemo:20200911075759 #镜像
            name: springbootdemo-2020019141404 #容器名称
            ports:
            - containerPort: 9084 #端口
            resources: {}
    status: {}
    

    运行:kubectl apply -f deploy.yaml # 运行生成Deployment

  • 命令生成文件(也可以直接使用下面的文件)

 kubectl expose deployment java-demo --port=9084 --target-port=9084 --type=Nodeport -o yaml --dry-run > svc.yaml
  • vim svc.yaml

    apiVersion: v1
    kind: Service
    metadata:
      creationTimestamp: null
      labels:
        app: java-demo-2020019141404 # 同deploy.yaml 内设置
      name: java-demo-2020019141404 # 同deploy.yaml 内设置
    spec:
      ports:
      - port: 9084 
        protocol: TCP
        targetPort: 9084
        nodePort: 62459 # 对外指定端口
      selector:
        app: java-demo-2020019141404 # 同deploy.yaml 内设置
      type: NodePort # 如果需要对外指定端口,需要此配置
    status:
      loadBalancer: {}
    

    运行:kubectl apply -f svc.yaml # 运行生成service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值