1.docker登陆认证

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

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

[root@master ~]# docker login 10.0.1.99:
Username(admin): admin
Password:
login Succeeded
[root@master ~]#

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

[root@master ~]# cat ./.docker/config.json
{
"auths": {
"10.0.1.99:5000": {
"auth": "YWRtaW46aGFpcGFpMTIzQA=="
},
"134.205.136.89:5000": {
"auth": "YWRtaW46aGFpcGFpMTIzQA=="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.6 (linux)"
}
}

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>:用户的邮箱地址。

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

定义拉取镜像的yaml

[root@master ~]# vim admin.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: dentestreplce
spec:
replicas:
template:
metadata:
labels:
name: dentestreplace
spec:
containers:
- name: dentestreplace
imagePullPolicy: Always
#imagePullPolicy: IfNotPresent
image: 10.0.1.99:/test/travel-admin:1.0.
ports:
- containerPort:
imagePullSecrets:
- name: mysecret //我们上面创建的secret的名称

创建Deployment

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

root@master test]# kubectl apply -f admin.yaml
deployment.extensions/dentestreplce created
[root@master test]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
dentestreplce-5759f6c9b6-89r8r / Running 48s 10.244.1.100 node01 <none> <none>
dentestreplce-5759f6c9b6-d2p2x / Running 48s 10.244.3.91 node02 <none> <none> //查看过程
[root@master test]# kubectl describe pod dentestreplce-5759f6c9b6-89r8r
Name: dentestreplce-5759f6c9b6-89r8r
Namespace: default
Priority:
PriorityClassName: <none>
Node: node01/10.0.1.133
Start Time: Thu, May :: +
Labels: name=dentestreplace
pod-template-hash=5759f6c9b6
Annotations: <none>
Status: Running
IP: 10.244.1.100
Controlled By: ReplicaSet/dentestreplce-5759f6c9b6
Containers:
dentestreplace:
Container ID: docker://17c5b9e8878c194cfd020ebecb84b963851f37b9a7fc5cff11b2423475098445
Image: 10.0.1.99:/test/travel-admin:1.0.
Image ID: docker-pullable://10.0.1.99:5000/test/travel-admin@sha256:71eee17b1d9692343e8b91075bfff86676549aadf4ba440a0f0116183480a42f
Port: /TCP
Host Port: /TCP
State: Running
Started: Thu, May :: +
Ready: True
Restart Count:
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-pwlvv (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
default-token-pwlvv:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-pwlvv
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 96s default-scheduler Successfully assigned default/dentestreplce-5759f6c9b6-89r8r to node01
Normal Pulling 91s kubelet, node01 Pulling image "10.0.1.99:5000/test/travel-admin:1.0.0"
Normal Pulled 91s kubelet, node01 Successfully pulled image "10.0.1.99:5000/test/travel-admin:1.0.0"
Normal Created 91s kubelet, node01 Created container dentestreplace
Normal Started 90s kubelet, node01 Started container dentestreplace
[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. angularJs input框绑定ng-model后js获取不到问题

    搬运自:https://blog.csdn.net/fenglongmiao/article/details/81545993 与其他指令一样,ng-controller指令也会创建一个子级作用域,因 ...

  2. 软工-五月心得体会 PB16110698

    伴随着愈发红润的骄阳,火热而紧张刺激的五月悄然而至.这一个月以来,曾经让同学们“废寝忘食”的软工课大作业终于告一段落,每周一篇的读书笔记也缓到半月一篇,着实令人长吐一口气.但这一份表面的余裕当然没有看 ...

  3. 2018-2-13-win10-UWP-动画

    title author date CreateTime categories win10 UWP 动画 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23 ...

  4. Spring - @ManagedResource, @ManagedOperation, @ManagedAttribute

    总结 通过annotation (@ManagedResource, @ManagedOperation, @ManagedAttribute)注解注册MBean到JMX实现监控java运行状态 参考 ...

  5. 删除重复数据并保留id最小的一条记录

    delete from  test where id not in ( select a.id from (select min(id) as id from test group by form_i ...

  6. 25 面向对象设计实例——基于PCL点云库的通用工具开发

    0 引言 问题背景:pcl中提供了大量工具,用于对点云和三角面片文件进行处理和显示.在研究中,存在很多简易的需求,比如点云坐标转换,点云的打开显示以及同步显示,点云的最小包络求解,点云的格式转换等等. ...

  7. lua之table|模块|包

    一.table table是   Lua的一种数据结构用来帮助我们创建不同的数据类型,如:数字.字典等. Lua table使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是   ni ...

  8. 暑假集训test-8-29

    今天瓜成一坨了. 瓜的说不出话来. 直接退役算了我. T1 傻逼题,但是我傻逼地敲了一个线段树合并,然后把空间炸了,只剩20分, 直接dfs维护子树大小,子树中最大最小值即可统计答案. //Achen ...

  9. NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix

    1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...

  10. docker网络原理

    以下内容引用Docker -- 从入门到实践 当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机.它会在挂 ...