美文网首页k8s
k8s + Harbor 部署私有仓库服务

k8s + Harbor 部署私有仓库服务

作者: 愤怒的奶牛 | 来源:发表于2019-03-01 16:51 被阅读8次

    1 整体架构

    整体架构.png

    1 通过kubectl 命令工具 发起 资源创建kubectl create -f [资源文件名].yaml
    2 k8s 处理相关请求后 kube-scheduler 服务 为pod 寻找一个合适的 “家” node2 并创建pod。
    3 node2 上的kubelet 处理相关资源,使用docker 拉取 相关镜像 并run 。
    注意: 这里只说明了整个流程的工作流转情况,请勿深究!

    2 部署资源

    2.1 部署 user 资源 user-deploy.yml

    这里只 创建 pod ,并没有 service

    kind: Deployment  # 使用 Deployment 和 Replicas set 管理pod
    metadata:
      name: user-deployment
    spec:
      replicas: 1 # pod 副本数
      template:
        metadata:
          labels:
            app: user # 标签 app=user
        spec:
          containers: # 镜像信息
          - name: user
            image: 192.168.229.20/user/user-setvice:v2.0  # 这里我的私服就是 192.168.229.20 关键
            ports:
            - containerPort: 8080 # 镜像端口
    

    2.2 通过master 部署资源

    注意 :一般第一次pull 私有仓库需要 login ,配置 密钥或者手动在各个 node上docker login

    # master 节点运行
    # kubectl create secret docker-registry registry-secret --namespace=default \
    --docker-server=192.168.229.20 \ # 私服地址
    --docker-username=admin \ #登陆的用户
    --docker-password=Harbor12345 \ # 密码
     --docker-email=8468@qq.com \ # 邮箱
    

    配置成功后 创建资源

    kubectl create -f user-deploy.yml
    [root@k8s-master user-service]# kubectl create -f user-deploy.yml
    deployment.extensions/user-deployment created
    

    查看 deploy

    kubectl get deploy
    NAME              READY   UP-TO-DATE   AVAILABLE   AGE
    user-deployment   1/1     1            1           92s
    
    #运行在node1 上
    [root@k8s-master user-service]# kubectl get pod --all-namespaces -o wide
    NAMESPACE     NAME                                 READY   STATUS    RESTARTS   AGE     IP               NODE         NOMINATED NODE   READINESS GATES
    default       user-deployment-69878cdddb-9l58v     1/1     Running   0          2m29s   10.244.1.24      k8s-node1    <none>           <none>
    
    # node1 上查看 镜像
    [root@k8s-node1 docker]# docker images
    REPOSITORY                                           TAG                 IMAGE ID            CREATED             SIZE
    192.168.229.20/user/user-setvice                     v2.0                3dc0481535b8        28 hours ago        122MB
    
    # 最近运行的容器 
    [root@k8s-node1 docker]# docker ps -l 
    CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
    9e986d0d0f4f        3dc0481535b8        "java -jar /app.jar"   5 minutes ago       Up 5 minutes                            k8s_user_user-deployment-69878cdddb-9l58v_default_6e89a386-3bfd-11e9-b629-000c29758660_0
    
     # 删除 kubectl delete deploy user-deployment
    deployment.extensions "user-deployment" deleted
    

    到此 k8s 获取私服镜像完成!后面会有 git + jenkins + maven + docker + k8s 自动构建spring cloud 服务,请持续关注!

    相关文章

      网友评论

        本文标题:k8s + Harbor 部署私有仓库服务

        本文链接:https://www.haomeiwen.com/subject/tsnduqtx.html