1.docker登陆认证

  1. [root@master ~]# vim /etc/docker/daemon.json
  2. {
  3. "insecure-registries": ["10.0.1.99:5000"]
  4. }

进行登录认证才能进行后续的操作,私有镜像仓库登录认证的语法和格式:docker login <nexus-hostname>:<repository-port>

  1. [root@master ~]# docker login 10.0.1.99:
  2. Username(admin): admin
  3. Password:
  4. login Succeeded
  5. [root@master ~]#

登录时,需要提供用户名和密码。认证的信息会被保存在~/.docker/config.json文件,在后续与私有镜像仓库交互时就可以被重用,而不需要每次都进行登录认证。

  1. [root@master ~]# cat ./.docker/config.json
  2. {
  3. "auths": {
  4. "10.0.1.99:5000": {
  5. "auth": "YWRtaW46aGFpcGFpMTIzQA=="
  6. },
  7. "134.205.136.89:5000": {
  8. "auth": "YWRtaW46aGFpcGFpMTIzQA=="
  9. }
  10. },
  11. "HttpHeaders": {
  12. "User-Agent": "Docker-Client/18.09.6 (linux)"
  13. }
  14. }

2.Kubernetes从私有镜像拉取镜像

在使用私有镜像拉取镜像时,需要为私有镜像仓库创建一个镜像仓库的密钥,并在创建容器中进行引用。创建镜像仓库的语法和格式:kubectl create secret docker–registry <regsecret-name> —docker–server=<your–registry–server> —docker–username=<your–name> —docker–password=<your–pword> —docker–email=<your–email>。

<regsecret-name>:所创建的私有镜像仓库密钥的名称;
<your-registry-server>:为镜像仓库的服务器地址;
<your-name>:登录镜像仓库的用户名;
<your-pword>:登录镜像仓库的密码;
<your-email>:用户的邮箱地址。

  1. //--docker-server=10.0.1.99:5000 值不要加http://
  2. [root@master ~]# kubectl create secret docker-registry mysecret --docker-server=10.0.1.99: --docker-username=admin --docker-password= --docker-email=yiyo@.com
  3. [root@master ~]# kubectl get secret
  4. NAME TYPE DATA AGE
  5. default-token-pwlvv kubernetes.io/service-account-token 5d7h
  6. mysecret kubernetes.io/dockerconfigjson 22h
  7. mysql-root-password Opaque 3d
  8. newsecret kubernetes.io/dockerconfigjson 13h
  9. [root@master ~]#

定义拉取镜像的yaml

  1. [root@master ~]# vim admin.yaml
  2. apiVersion: extensions/v1beta1
  3. kind: Deployment
  4. metadata:
  5. name: dentestreplce
  6. spec:
  7. replicas:
  8. template:
  9. metadata:
  10. labels:
  11. name: dentestreplace
  12. spec:
  13. containers:
  14. - name: dentestreplace
  15. imagePullPolicy: Always
  16. #imagePullPolicy: IfNotPresent
  17. image: 10.0.1.99:/test/travel-admin:1.0.
  18. ports:
  19. - containerPort:
  20. imagePullSecrets:
  21. - name: mysecret //我们上面创建的secret的名称

创建Deployment

如果不成功就在每个节点做开头第一步操作

  1. root@master test]# kubectl apply -f admin.yaml
  2. deployment.extensions/dentestreplce created
  3. [root@master test]# kubectl get pod -o wide
  4. NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
  5. dentestreplce-5759f6c9b6-89r8r / Running 48s 10.244.1.100 node01 <none> <none>
  6. dentestreplce-5759f6c9b6-d2p2x / Running 48s 10.244.3.91 node02 <none> <none>
  7.  
  8. //查看过程
  9. [root@master test]# kubectl describe pod dentestreplce-5759f6c9b6-89r8r
  10. Name: dentestreplce-5759f6c9b6-89r8r
  11. Namespace: default
  12. Priority:
  13. PriorityClassName: <none>
  14. Node: node01/10.0.1.133
  15. Start Time: Thu, May :: +
  16. Labels: name=dentestreplace
  17. pod-template-hash=5759f6c9b6
  18. Annotations: <none>
  19. Status: Running
  20. IP: 10.244.1.100
  21. Controlled By: ReplicaSet/dentestreplce-5759f6c9b6
  22. Containers:
  23. dentestreplace:
  24. Container ID: docker://17c5b9e8878c194cfd020ebecb84b963851f37b9a7fc5cff11b2423475098445
  25. Image: 10.0.1.99:/test/travel-admin:1.0.
  26. Image ID: docker-pullable://10.0.1.99:5000/test/travel-admin@sha256:71eee17b1d9692343e8b91075bfff86676549aadf4ba440a0f0116183480a42f
  27. Port: /TCP
  28. Host Port: /TCP
  29. State: Running
  30. Started: Thu, May :: +
  31. Ready: True
  32. Restart Count:
  33. Environment: <none>
  34. Mounts:
  35. /var/run/secrets/kubernetes.io/serviceaccount from default-token-pwlvv (ro)
  36. Conditions:
  37. Type Status
  38. Initialized True
  39. Ready True
  40. ContainersReady True
  41. PodScheduled True
  42. Volumes:
  43. default-token-pwlvv:
  44. Type: Secret (a volume populated by a Secret)
  45. SecretName: default-token-pwlvv
  46. Optional: false
  47. QoS Class: BestEffort
  48. Node-Selectors: <none>
  49. Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
  50. node.kubernetes.io/unreachable:NoExecute for 300s
  51. Events:
  52. Type Reason Age From Message
  53. ---- ------ ---- ---- -------
  54. Normal Scheduled 96s default-scheduler Successfully assigned default/dentestreplce-5759f6c9b6-89r8r to node01
  55. Normal Pulling 91s kubelet, node01 Pulling image "10.0.1.99:5000/test/travel-admin:1.0.0"
  56. Normal Pulled 91s kubelet, node01 Successfully pulled image "10.0.1.99:5000/test/travel-admin:1.0.0"
  57. Normal Created 91s kubelet, node01 Created container dentestreplace
  58. Normal Started 90s kubelet, node01 Started container dentestreplace
  59. [root@master test]#

Kunbernetes从私有仓库nexus拉取镜像的更多相关文章

  1. k8s实战之从私有仓库拉取镜像 - kubernetes

    1.实战目的 从私有docker仓库拉取镜像,部署pod.上一篇中,我们搭建了私有的镜像仓库,这一篇我们将与k8s结合实战使用私有仓库. 2.登录docker 为了完成本次实战,需要登录docker, ...

  2. K8S从私有仓库拉取镜像

    通常来讲,我们在通过公共镜像仓库拉取docker镜像的时候,不需要任何的认证操作,但我们在构建了企业的私有镜像以后,就不得不在拉取镜像之前通过用户名密码来完成认证. 在docker单机环境中,我们可以 ...

  3. 配置 Containerd 在 harbor 私有仓库拉取镜像

    官方文档地址:https://github.com/containerd/cri/blob/master/docs/registry.md 严格来说,这个具体可分为两部分 1.在k8s中使用Conta ...

  4. Portainer安装,配置自定义镜像仓库拉取镜像

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

  5. 关于使用kubeoperator搭建k8s集群使用containerd作为容器运行时,从自己搭建的habor仓库拉取镜像的有关说明

    1.kubepi界面添加habor仓库信息,并授权给k8s集群 这一步的操作是当在工作负载选择从harbor仓库拉取镜像时会自动创建有关的secrets信息,从而不用事先手动创建了(有别于kuboar ...

  6. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

  7. docker拉取镜像报错:net/http: TLS handshake timeout.

    docker拉取镜像报错:net/http: TLS handshake timeout. 启动一个后台的busybox容器 [yunva@node1 network-scripts]$ docker ...

  8. Docker学习笔记二:Docker常用命令及提升拉取镜像的速度

    一.Docker命令: 1.docker images   //命令用来查看docker中所包含的镜像信息 2.docker ps -a    //命令用来查看docker中所包含所有容器信息(运行状 ...

  9. Docker笔记5:实现加速器,加快下载/拉取镜像速度

    由于 Docker 官方仓库存储于国外服务器,因此,我们使用d ocker pull 命令拉取镜像时,速度很慢.但是,我们可以使用国内服务商提供的加速器进行加速,加速器实质是一个IP地址,将其加入到d ...

随机推荐

  1. python——pandas基础

    参考: 实验楼:https://www.shiyanlou.com/courses/1091/learning/?id=6138 <利用python进行数据分析> pandas简介 Pan ...

  2. 关于apache 重定向设定

    本人在研究关于apache重定向的资料,在网上找了很多,但是就本人来说,方便理解的,找到了这么一个,记录了下来,原帖地址:http://www.exehack.net/8.html 关于apache配 ...

  3. 解决Google Chrome浏览器字体模糊的问题

    之前使用Google的Chrome浏览器一直觉得有时候,其显示的字体比较模糊,不管是Windows XP还是Windows 7都会出现要么显示的网页字体模糊,要么是Chrome浏览器本身显示的菜单模糊 ...

  4. Vue-cli开发笔记一----------项目的结构

    配置文件package.json: 搜索了配置的原理:https://segmentfault.com/a/1190000000344102 里面讲到:npm会在package.json文件中找scr ...

  5. 8.Struts2拦截器

    1. 拦截器的概述 * 拦截器就是AOP(Aspect-Oriented Programming)的一种实现.(AOP是指用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.) * ...

  6. top.location.href

    window.location.href.location.href是本页面跳转   parent.location.href是上一层页面跳转   top.location.href是最外层的页面跳转 ...

  7. 好久没写题解了= =这次是bzoj 1051

    唉= =这道题我都想到了tarjan缩点,但是没有想到最后一步啊= =我们很容易想到反向建边然后缩点,这时候我们看由多少个联通块的入度为0,如果为1个,那就输出这个块的大小,否则输出0: #inclu ...

  8. Intergalactic Map SPOJ - IM

    传送门 我觉得我写得已经和题解一模一样了,不知道为什么就是过不了..懒得拍了,反正不是很难,不太想浪费时间. 1~2~3的一条路径相当于从2~1的一条路径+2~3的一条路径,点不能重复经过,于是拆点. ...

  9. NX二次开发-获取矩阵值UF_CSYS_ask_matrix_values

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...

  10. JavaScript-Tool:wechatHelper.js

    ylbtech-JavaScript-Tool:wechatHelper.js 1.返回顶部 1.wechatHelper.js !function(a,b){"function" ...