k8s从Harbor拉取启动镜像测试

登陆harbor

[[email protected] ~]#  docker login 192.168.180.105:1180
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

拉取启动

[[email protected] ~]# kubectl run nginx-test --image=192.168.180.105:1180/topcheer/nginx:1.2 --port=80 --replicas=1
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx-test created
[root@k8s-master ~]# kubectl get rs
NAME                    DESIRED   CURRENT   READY   AGE
nginx-test-754bbf667c   1         1         0       17s
[root@k8s-master ~]# kubectl get pod -o wide
NAME                          READY   STATUS              RESTARTS   AGE   IP       NODE         NOMINATED NODE   READINESS GATES
nginx-test-754bbf667c-q4z25   0/1     ContainerCreating   0          50s   <none>   k8s-node02   <none>           <none>
[root@k8s-master ~]# kubectl get pod -o wide
NAME                          READY   STATUS              RESTARTS   AGE   IP       NODE         NOMINATED NODE   READINESS GATES
nginx-test-754bbf667c-q4z25   0/1     ContainerCreating   0          95s   <none>   k8s-node02   <none>           <none>

发现一直没有启动,查看日志

[[email protected] ~]# kubectl describe pod nginx-test-754bbf667c-q4z25
Name:           nginx-test-754bbf667c-q4z25
Namespace:      default
Priority:       0
Node:           k8s-node02/192.168.180.103
Start Time:     Tue, 26 Nov 2019 22:13:31 +0800
Labels:         pod-template-hash=754bbf667c
                run=nginx-test
Annotations:    <none>
Status:         Pending
IP:
Controlled By:  ReplicaSet/nginx-test-754bbf667c
Containers:
  nginx-test:
    Container ID:
    Image:          192.168.180.105:1180/topcheer/nginx:1.2
    Image ID:
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-hd24d (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-hd24d:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-hd24d
    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  2m53s  default-scheduler    Successfully assigned default/nginx-test-754bbf667c-q4z25 to k8s-node02
  Normal  Pulling    2m11s  kubelet, k8s-node02  Pulling image "192.168.180.105:1180/topcheer/nginx:1.2"

日志中没有显示报错,需要在等等

[[email protected] ~]# kubectl get pod -o wide
NAME                          READY   STATUS    RESTARTS   AGE     IP           NODE         NOMINATED NODE   READINESS GATES
nginx-test-754bbf667c-q4z25   1/1     Running   0          6m43s   10.244.1.2   k8s-node02   <none>           <none>
[root@k8s-master ~]# kubectl get pod -o wide
NAME                          READY   STATUS    RESTARTS   AGE     IP           NODE         NOMINATED NODE   READINESS GATES
nginx-test-754bbf667c-q4z25   1/1     Running   0          6m49s   10.244.1.2   k8s-node02   <none>           <none>
[root@k8s-master ~]# curl 10.244.1.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

上面显示,在等2个节点运行的

[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                      PORTS               NAMES
b5323553263a        192.168.180.105:1180/topcheer/nginx   "nginx -g ‘daemon of…"   2 minutes ago       Up 2 minutes                                    k8s_nginx-test_nginx-test-754bbf667c-q4z25_default_5a0b95b7-6853-4493-bebc-971847fc15e9_0

成功,并启动完成

原文地址:https://www.cnblogs.com/dalianpai/p/11939337.html

时间: 2024-10-10 06:00:59

k8s从Harbor拉取启动镜像测试的相关文章

Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 docker run --name "mysql" -p 3307:3306 -e MYSQL_ROOT_PASSWORD=自己的数据库密码 -d mysql:5.6 --name    容器的名称 -p       本地(宿主机)端口:容器端口 -e MYSQL_ROOT_PASSWORD=*

Linux下使用docker 拉取 vsftpd 镜像搭建 Ftp 服务器,连接 Ftp 时遇到的错误(425 Failed to establish connection)

Ftp踩坑系列: Linux上的ftp服务器 vsftpd 之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传 ftp服务器Serv-U 设置允许自动创建不存在的目录 FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接 一.前言 出现这个问题,在docker这类容器出现之前,原因可能是防火墙的问题: FTP服务器一般默认使用被动模式,即,客户端一般会和服务端的21端口建立连接,该连接用来传输命令.真正传输数据时,服务端会返回一个随机端口,告诉客户端新建

Docker拉取的镜像源更改为国内的镜像源

vim /etc/docker/daemon.json { "registry-mirrors": [ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "https://registry.docker-cn.com",

K8s之Pod资源管理及创建Harbor私有镜像仓库(含镜像拉取操作,中途含排错)

pod是k8s管理的最小单元 pod中有多个容器,现实生产环境中只有一个容器 特点: 1.最小部署单元2.一组容器的集合3.一个Pod中的容器共享网络命令空间4.Pod是短暂的 Pod容器分类: 1:infrastructure container 基础容器(透明的过程,用户无感知) 维护整个Pod网络空间 node节点操作 `查看容器的网络` [[email protected] ~]# cat /opt/kubernetes/cfg/kubelet KUBELET_OPTS="--logto

K8s 从懵圈到熟练 – 镜像拉取这件小事

作者 | 声东 阿里云售后技术专家 导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的.而镜像拉取失败,大多数情况下都和权限有关.所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单,肯定是权限问题.但实际的情况是,我们经常为一个问题,花了多个人的时间却找不到原因.这主要还是我们对镜像拉取,特别是私有镜像自动拉取的原理理解不深.这篇文章,作者将带领大家讨论下相关原理. 顺序上来说,私有镜像自动拉取会首先通过阿里云 Acr credential helper 组

kubernetes国内镜像拉取

因国内访问不到goole服务器,只能拉取国内的镜像,这里以阿里云为例. 安装minikube时报failed to pull image "k8s.gcr.io/kube-apiserver:v1.13.4". 原理:先拉取阿里镜像,再改名 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.2.24 docker tag registry.cn-hangzhou.aliyuncs.com/goo

通过阿里云拉取Google云上的镜像

在创建kubernetes集群时需要一些Google云上的镜像国内拉取不了Google 云上的镜像,所以我们想到了阿里云,因为阿里云服务器在美国,所以我们去阿里云上的构建镜像的功能拉取国外的镜像,然后再从阿里云上拉取到本地 话不多说行动起来登陆阿里云找到容器服务 点击管理控制台 点击创建镜像仓库填写仓库信息 这里如果没有绑定github,先去绑定,点击绑定账号,跳转到github,点击一下就ok, 命名空间选择github账号就行,仓库名写你的dockerfile存放的仓库名,没有先去创建 .我

Docker Hub.拉取镜像

注:此记录谨基于默认在搭建好的docker环境下进行!   拉取镜像很假单,只需要一个“docker pull 镜像名“的命令即可.当然,前提是我们已经在一个已经搭建好的docker环境下.但是,如何将拉取到主机的镜像下载到本地电脑呢.请看如下记录: 假设我们要拉取的镜像是一个note基础镜像,那么我们执行的命令首先是:docker pull note .当镜像下载成功,我们需要检查一下,该镜像是否已经存在主机了.可以执行:docker images 查看镜像是否存在,如果没错的话,应该是有 n

docker镜像拉取、运行、删除

1.拉去hello-world镜像并运行 docker pull hello-world 拉取hello-world镜像Using default tag: latestlatest: Pulling from library/hello-world1b930d010525: Pull complete Digest: sha256:4fe721ccc2e8dc7362278a29dc660d833570ec2682f4e4194f4ee23e415e1064Status: Downloaded