您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

kubernetes之基于ServiceAccount拉取私有镜像

时间:2022-09-21 15:35:10  来源:  作者:没有烦恼的河豚

前面可以通过ImagPullPolicy和ImageullSecrets指定下载镜像的策略,ServiceAccount也可以基于spec.imagePullSecret字段附带一个由下载镜像专用的Secret资源组成的列表,用于在容器创建时,从某个私有镜像仓库下载镜像文件之前的服务认证。

1.创建Secrets资源

这里根据自己的实际去定义即可;一定要是对方的地址和认证信息;否则无法pull/push

root@ks-master01-10:~# kubectl create secret Docker-registry 
> aliyun-haitang-registry 
> --docker-server=registry.cn-hangzhou.aliyuncs.com 
> --docker-username=xxxxxxx
> --docker-password=xxxxxx
secret/aliyun-haitang-registry created

1.1查看Secrets

root@ks-master01-10:~#  kubectl describe secret aliyun-haitang
Name:         aliyun-haitang
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  kube.NETes.io/dockerconfigjson

Data
====
.dockerconfigjson:  140 bytes

2.创建ServiceAccount

2.1不设置任何策略,测试是否能拉取私有仓库镜像

此处不配置任何镜像拉取策略,测试是否能拉取私有仓库镜像;

root@ks-master01-10:~#  cat pod-serviceaccount-secret.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: stree-serviceaccount
spec:
  containers:
  - name: stree
    image: registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest

2.2查看Pod,处于ErrImage

root@ks-master01-10:~# kubectl get pods
NAME                                      READY   STATUS         RESTARTS       AGE
stree-serviceaccount                      0/1     ErrImagePull   0              8s

2.3describe查看Events

可以看到事件,是Docker认证的问题;

root@ks-master01-10:~# kubectl describe pods stree-serviceaccount
Events:
  Type     Reason     Age               From               Message
  ----     ------     ----              ----               -------
  Normal   Scheduled  20s               default-scheduler  Successfully assigned default/stree-serviceaccount to ks-node02-12
  Normal   BackOff    17s               kubelet            Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest"
  Warning  Failed     17s               kubelet            Error: ImagePullBackOff
  Normal   Pulling    2s (x2 over 19s)  kubelet            Pulling image "registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest"
  Warning  Failed     2s (x2 over 18s)  kubelet            Failed to pull image "registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for registry.cn-hangzhou.aliyuncs.com/lengyuye/stress, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed     2s (x2 over 18s)  kubelet            Error: ErrImagePull

2.4创建ServiceAccount

aliyun-haitang是docker-registry类型的Secrets对象,由用户提前手动创建,它可以通过键值数据提供docker仓库服务器的地址,接入服务器的用户名,密码及用户的电子邮件信息等,认证通过后,引用ServiceAccount的Pod资源即可从指定的镜像仓库下载image。

root@ks-master01-10:~# cat serviceaccount-imagepullsecret.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
   name: imagepull-aliyun-sa
imagePullSecrets:
- name: aliyun-haitang
root@ks-master01-10:~# kubectl Apply -f serviceaccount-imagepullsecret.yaml 
serviceaccount/imagepull-aliyun-sa created

2.5查看SA

root@ks-master01-10:~# kubectl get sa imagepull-aliyun-sa -o yaml
apiVersion: v1
imagePullSecrets:
- name: aliyun-haitang
kind: ServiceAccount
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","imagePullSecrets":[{"name":"aliyun-haitang"}],"kind":"ServiceAccount","metadata":{"annotations":{},"name":"imagepull-aliyun-sa","namespace":"default"}}
  creationTimestamp: "2022-09-07T02:31:05Z"
  name: imagepull-aliyun-sa
  namespace: default
  resourceVersion: "226300"
  uid: fabc93b1-572c-4703-a2dd-465d4e0915cb
secrets:
- name: imagepull-aliyun-sa-token-vf67z

2.6Pod引用ServiceAccount

root@ks-master01-10:~# cat pod-serviceaccount-secret.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: stree-serviceaccount   
spec:
  serviceAccount: imagepull-aliyun-sa   # 这里则是创建的sa的名称
  containers:
  - name: stree
    image: registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest
root@ks-master01-10:~/rbac# kubectl apply -f pod-serviceaccount-secret.yaml 
pod/stree-serviceaccount created

3.创建Pod测试;

3.1查看Pod

root@ks-master01-10:~# kubectl get pods
NAME                                      READY   STATUS    RESTARTS       AGE
stree-serviceaccount                      1/1     Running   0              8s

3.2describe查看事件

root@ks-master01-10:~# kubectl describe pods stree-serviceaccount
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  3m36s  default-scheduler  Successfully assigned default/stree-serviceaccount to ks-node02-12
  Normal  Pulling    3m35s  kubelet            Pulling image "registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest"
  Normal  Pulled     3m33s  kubelet            Successfully pulled image "registry.cn-hangzhou.aliyuncs.com/lengyuye/stress:latest" in 1.729555429s
  Normal  Created    3m33s  kubelet            Created container stree
  Normal  Started    3m33s  kubelet            Started container stree

3.3查看详细信息

root@ks-master01-10:~# kubectl get pods stree-serviceaccount -o yaml
  imagePullSecrets:
  - name: aliyun-haitang
  nodeName: ks-node02-12
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: imagepull-aliyun-sa
  serviceAccountName: imagepull-aliyun-sa


Tags:kubernetes   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前面可以通过ImagPullPolicy和ImageullSecrets指定下载镜像的策略,ServiceAccount也可以基于spec.imagePullSecret字段附带一个由下载镜像专用的Secret资源组成的列表,用于在...【详细内容】
2022-09-21  Tags: kubernetes  点击:(0)  评论:(0)  加入收藏
Traefik 是一个出色的 Kubernetes 集群入口控制器,允许您拥有一个 L7 入口路由引擎来将入口流量路由到您的 Kubernetes 托管服务。在本教程中,我们将研究 Traefik 的 安装和配...【详细内容】
2022-08-31  Tags: kubernetes  点击:(37)  评论:(0)  加入收藏
借助 Kubernetes,开发团队可以快速验证、推出和部署对物联网服务的更改。 Kubernetes 是一种用于部署云原生应用程序的服务。由于云应用程序与我们的物联网设备和产品相关联,...【详细内容】
2022-08-25  Tags: kubernetes  点击:(32)  评论:(0)  加入收藏
什么是微服务? 什么是微服务?你应该使用微服务吗?微服务与容器和 Kubernetes 有什么关系?如果这些事情在您的日常生活中不断出现,并且您需要在 10 分钟内进行概述,那么这篇博文适...【详细内容】
2022-07-07  Tags: kubernetes  点击:(22)  评论:(0)  加入收藏
1. 容器编排技术容器编排是指对多个容器的部署,管理和监控。之所以有容器编排技术,其实是和业务量与系统复杂度与日俱增推动服务部署的演进方式息息相关的,下图是服务部署方式...【详细内容】
2022-07-06  Tags: kubernetes  点击:(52)  评论:(0)  加入收藏
kubernetes常用deploy模板,并验证 编写deploy配置文件root@hello:~# cat deploy.yaml apiVersion: apps/v1kind: Deploymentmetadata: name: hostname-test-cby labels:...【详细内容】
2022-05-18  Tags: kubernetes  点击:(94)  评论:(0)  加入收藏
Ingress配置转发端口本质Ingress配置转发端口本质,还是利用service nodePort能力,通过暴露ingress的本地端口来转发。Ingress默认不支持TCP or UDP services。因此Ingress con...【详细内容】
2022-01-21  Tags: kubernetes  点击:(1008)  评论:(0)  加入收藏
1Kubernetes 集群架构图 2Openshift or Kubernetes 集群架构图 3常见的 CI/CD 架构图1. Gitlab Webhook + Jenkins SharedLibraries/Kubernetes + SonarScanner Maven Plugi...【详细内容】
2022-01-18  Tags: kubernetes  点击:(268)  评论:(0)  加入收藏
流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术。本文主要介绍了诞生于云原生时代的流水线框架 Argo。 什么是流水线?在计算机...【详细内容】
2021-11-30  Tags: kubernetes  点击:(173)  评论:(0)  加入收藏
当我们通过kubectl来查看、修改Kubernetes资源时,有没有想过后面的接口到底是怎样的?有没有办法探查这些交互数据呢?Kuberenetes客户端和服务端交互的接口,是基于http协议的。所...【详细内容】
2021-11-23  Tags: kubernetes  点击:(162)  评论:(0)  加入收藏
▌简易百科推荐
前面可以通过ImagPullPolicy和ImageullSecrets指定下载镜像的策略,ServiceAccount也可以基于spec.imagePullSecret字段附带一个由下载镜像专用的Secret资源组成的列表,用于在...【详细内容】
2022-09-21  没有烦恼的河豚    Tags:kubernetes   点击:(0)  评论:(0)  加入收藏
原始代码:# 执行系统命令__import__(&#39;os&#39;).system("ping www.google.com")结果:Pycharm输出一堆乱码: 快捷键:Ctrl + Alt + s 调出设置菜单或文件&rarr;设置&rarr; 编辑...【详细内容】
2022-09-21  开会不带本    Tags:Pycharm   点击:(3)  评论:(0)  加入收藏
全局搜索GET /shops_index,goods_index/_search //多索引搜索用逗号隔开或者 /_all/_search、/_search{ "query": { "multi_match": { "query": "口腔", // 如...【详细内容】
2022-09-21  51编程  今日头条  Tags:Elasticsearch   点击:(3)  评论:(0)  加入收藏
嵌入式Linux开发中,有时候为了定位问题,需要查看某个进程的各个线程的运行情况。例子multi_thread.c:左右滑动查看全部代码>>>#define _GNU_SOURCE#include <pthread.h>#includ...【详细内容】
2022-09-21  嵌入式开发卡贝  今日头条  Tags:线程   点击:(5)  评论:(0)  加入收藏
XDP Scoket也一个文件描述符,因此可以通过poll/epoll/select来等待IO事件,需要说明的是:收/发的数据包是原始的以太网帧,因此在包处理上要麻烦一些。 一. XDP Socke...【详细内容】
2022-09-19  IT小白进阶之路  今日头条  Tags:XDP   点击:(0)  评论:(0)  加入收藏
工作中又用到lst文件去定位一些问题,因此突然又对这个文件产生了兴趣(因为之前几次也查过百度,苦于一直没找到直接的方法),这次就是先请教了工作的前辈,然后又整合了各方资料,总算...【详细内容】
2022-09-16  IT狼  今日头条  Tags:gcc   点击:(14)  评论:(0)  加入收藏
一 if语句的格式if 条件then执行语句fi注意,最后必须用fi来闭合。无需使用{ }来包裹。if then有两种写法,同一行时,必须有分号。独占一行时不用分号 如:同一行if [[ $a > $b ]]...【详细内容】
2022-09-16  留住此刻  今日头条  Tags:shell   点击:(15)  评论:(0)  加入收藏
GD32 虚拟串口通讯速度测试硬件说明: MCU: GD32C103 120M,128K,32k RAM. 输入:USB 5V. OBD功能口定义:OBD(2,10)VPWM、OBD 7(K线)、OBD 6(CAN H)、OBD 14(CAN L)、OBD 15(L...【详细内容】
2022-09-14  siyuanOBD  今日头条  Tags:虚拟串口   点击:(22)  评论:(0)  加入收藏
通往开源库 Terminus 的曲折路径。在生物学中,像鳄鱼这样的动物有时被称为活化石,因为它们似乎与过去地质层中发现的标本几乎没有什么不同。计算机技术有一些自己的活化石。终...【详细内容】
2022-09-13  互联网资讯看板   网易号  Tags:Swift   点击:(20)  评论:(0)  加入收藏
本文分享自华为云社区《AnimeGANv2 照片动漫化:如何基于 PyTorch 和神经网络给 GirlFriend 制作漫画风头像?【秋招特训】-云社区-华为云》,作者:白鹿第一帅 。前言将现实世界场...【详细内容】
2022-09-13    华为云开发者联盟  Tags:PyTorch   点击:(16)  评论:(0)  加入收藏
站内最新
站内热门
站内头条