前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EKS集群拉取腾讯云镜像仓库镜像

EKS集群拉取腾讯云镜像仓库镜像

原创
作者头像
聂伟星
修改于 2021-11-15 06:29:07
修改于 2021-11-15 06:29:07
8.4K00
代码可运行
举报
运行总次数:0
代码可运行

最近很多人在使用eks弹性集群的过程中遇到了一些镜像拉取问题,很多人部署了工作负载后,pod一直pengding,查看事件发现有报错ImagePullBackOff,但是这个镜像在镜像仓库是存在的,其实这里拉取镜像报错主要原因是网络问题和镜像拉取密钥没有匹配上导致的,下面我们来说说如何在eks上拉取不同镜像仓库的镜像。

eks上拉取腾讯云上的镜像仓库镜像可以走内网和公网,如果拉取非腾讯云平台镜像则必须要走公网,但是eks集群创建后pod默认是不能访问公网的,这里需要给eks集群的容器子网配置一个nat网关来访问外网,eks集群配置nat网关的方式参考文档https://cloud.tencent.com/document/product/457/48710 nat网关配置好之后,我们来讲解下如何拉取不同仓库的镜像,下面操作都是基于eks集群已经配置好nat网关前提下。

1. eks集群拉取TCR仓库镜像

拉取TCR上的镜像,首先需要创建一个TCR实例,然后将镜像上传到实例中镜像仓库,这里我们说说分别通过公网和内网拉取镜像如何配置,首先我们在TCR上配置一个永久访问凭证,这里后续配置到eks集群生成镜像拉取secret。

控制台点击实例,然后再访问凭证页新建一个永久的访问凭证,最后保存下这个凭证。

接下来在eks集群中配置下之前获取的tcr访问凭证,新建secret。

这里类型我们选择Dockercfg,域名和登录账号密码从我们之前保存的凭证获取,这里可以选择存量命名空间,如果后面新增命名空间则需要在对应命名空间新建一个相同的secret。

1.1 eks公网拉取TCR镜像

我们在TCR实例上开启下公网访问

然后配置下访问白名单,默认是拒绝所有公网流量访问的,注意eks访问公网需要配置nat网关才行,具体可以参考文档https://cloud.tencent.com/document/product/457/48710 。这里我们配置下我们的nat网关中eip就行,如果nat网关有多个eip就配置多个,配置好白名单后,我们在eks集群中通过拉取tcr上镜像来创建pod试试看。

eks上创建deployment的时候可以点击选择镜像选择到你tcr实例的镜像, 然后在镜像访问凭证选择我们之前创建的tcr-secret,从事件和pod运行状态看,pod已经成功运行,说明我们的eks已经能从公网拉取tcr镜像。

1.2 eks内网拉取TCR镜像

1.2.1 手动配置hosts解析拉取镜像

tcr默认开启内网访问,会在vpc下生成一个统一的入口ip作为实例访问ip,但是这个ip不会自动解析到tcr的域名上,如果您没有开启内网自动解析,也可以通配置hosts的模式来内网拉取tcr镜像。

代码语言:javascript
代码运行次数:0
运行
复制
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  labels:
    k8s-app: tcr-hosts-test
    qcloud-app: tcr-hosts-test
  name: tcr-hosts-test
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: tcr-hosts-test
      qcloud-app: tcr-hosts-test
  template:
    metadata:
      labels:
        k8s-app: tcr-hosts-test
        qcloud-app: tcr-hosts-test
    spec:
      containers:
      - env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        - name: NGINX_VERSION
          value: 1.19.6
        - name: NJS_VERSION
          value: 0.5.0
        - name: PKG_RELEASE
          value: 1~buster
        image: nwx-test.tencentcloudcr.com/tke/nginx:latest
        imagePullPolicy: Always
        name: tcr-hosts-test
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        securityContext:
          privileged: false
      dnsPolicy: ClusterFirst
      hostAliases:
      - hostnames:
        - nwx-test.tencentcloudcr.com
        ip: 10.0.0.184
      imagePullSecrets:
      - name: tcr-secret
      restartPolicy: Always

这里我们在yaml配置下tcr域名和内网访问ip的hosts解析,然后配置下tcr镜像拉取秘钥,即可正常拉取镜像。

1.2.2开启内网自动解析拉取镜像

如果你不希望和上面步骤一样每个pod都去配置hosts解析,这里我们可以用到tcr的内网自动解析功能,首先开启tcr实例内网解析到eks所在的vpc内,然后在集群内配置访问凭证,最好创建pod的时候选择配置好的镜像访问凭证。这里访问凭证就用上面配置的tcr-secret即可。下面我们关闭tcr公网访问,开启内网解析访问。

我们关闭公网访问,新建内网接入,选择eks所在集群的vpc,然后点击管理自动解析,这样tcr域名就可以在vpc内自动解析了。下面我们创建deploymen试试。

这里我们选择我们实例中的镜像,然后选择tcr-secret这个拉取秘钥,从事件和pod状态可以发现镜像拉取成功并且pod成功运行,我们关闭了公网还是成功拉取了镜像,说明eks已经可以成功内网拉取tcr镜像了。

2. eks集群拉取CCR仓库镜像

eks集群上拉取个人版仓库ccr上的镜像,如果eks集群和镜像仓库是同一个地域,默认是走内网的,如果是跨地域访问,则需要走公网,这里不建议跨地域拉取ccr镜像,公网质量没有保证,如果必须跨地域拉取,可以参考tcr公网拉取方式配置secret,建议还是同地域内网拉取,这里我们讲讲如何内网拉取ccr上的镜像。

eks上拉取ccr上的镜像默认是不需要配置镜像拉取secret,只需要在命名空间下发默认的秘钥qcloudregistrykey即可

点击秘钥下发后,我们在test里面创建一个deployment,然后配置ccr的镜像和下发的qcloudregistrykey秘钥

从事件和pod状态可以发现镜像拉取成功,pod运行正常,说明eks可以正常拉取ccr上的私有镜像仓库了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
python下载图片
在diveintopython网站上,http://diveintopython.org/html_processing/extracting_data.html可以找到一些html处理的例子,比如这个类可以用来获取html页面中的href标签内容。
py3study
2020/01/12
1.4K0
使用Python操作excel文件
依赖环境 读取excel表里的数据,需要依赖的包是xlrd,首先需要安装xlrd包 pip3 install xlrd 简单的常用命令 #coding=utf-8 import xlrd ''' 文件路径比较重要,要以这种方式去写文件路径不用 ''' file_path = r'd:/功率因数.xlsx' #读取的文件路径 file_path = file_path.decode('utf-8') #文件中的中文转码 data = xlrd.open_workbook(file_path) #获取数据 ta
新人小试
2018/08/01
8730
在python中使用xlrd,xlwt读写excel
1.xlrd读取excel # -*- coding: utf-8 -*- import xdrlib ,sys import xlrd def open_excel(file= 'file.xls'): try: data = xlrd.open_workbook(file) return data except Exception as e: print (str(e)) #根据索引获取Excel表格中的数据 参数:file:Exc
晓歌
2018/08/15
1.3K0
在python中使用xlrd,xlwt读写excel
使用Python爬虫爬取妹子图图片
        最近在学习Python的爬虫部分。看到有网友在分享使用爬虫爬取各种网站的图片的代码,也想自己写个玩玩。今天花时间分析了一下妹子图网站的结构和HTML代码,使用urllib2和BeautifulSoup写出了一个自动下载妹子图网站图片的脚本。
py3study
2020/01/06
1.8K0
python操作Excel的包 | xlrd | xlxt | openpyxl
import xlrd # 01.打开excel文件,创建一个文件数据对象 data = xlrd.open_workbook('/home/python/Desktop/excel/test1.xls') # print(data) # 02.获取一张表 # table = data.sheets()[0] # 1.通过索引获取 # table = data.sheet_by_index(0) # 2.通过函数获取索引 table = data.sheet_by_name('Sheet1')
菲宇
2019/06/13
9690
Python使用xlwt和xlrd读写excel文件
xlwt和xlrd是两个相互配套的模块,在Python中,用于将数据写入Excel文件和读取Excel文件的数据。
Python碎片公众号
2021/02/26
1.5K0
Python使用xlwt和xlrd读写excel文件
python3爬虫初探(六)之EXCEL
 在爬取数据之后,数据的保存就成为一个新的问题,一般不太大的的数据存储到EXCEL就可以了。这里介绍一个python的第三方库——xlsxwriter.
py3study
2020/01/10
8560
python3爬虫初探(六)之EXCEL
Python Excel操作
最近公司要把Excel导入到mysql数据库,查了几篇博文,这几项是非常有用的,记录下来。 一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。 二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3、使用技巧 获取一个工作表 table =
机器学习AI算法工程
2018/03/12
1.6K0
python 操作excel(附案例)
常见读写excel 的库有以下 几个(附案例) xlwt xlrd xlutils openpyxl pandas xlwt 主要用于对xls文件进行写入操作 import xlwt #创建workbook book = xlwt.Workbook() #添加sheet页 table = book.add_sheet('Over', cell_overwrite_ok=True) sheet = book.add_sheet('测试表') print(type(table)) print(table)
Python研究者
2020/09/28
7680
python多线程下载图片
功能:从p_w_picpath.baidu.com自动翻页下载图片的python程序 用法:运行程序后,输入关键字即可 #!/usr/bin/python # filename: getbaidupic.py # description: get p_w_picpaths from p_w_picpath.baidu.com # author: cjcse # version: v 0.21 import urllib import htmllib import formatter import string import os import sys import time import thread #import threading class Parser(htmllib.HTMLParser): #return a dictionary mapping anchor texts to lists of associated hyperlinks def __init__(self, verbose=0): self.anchors = {} f = formatter.NullFormatter() htmllib.HTMLParser.__init__(self, f, verbose) def anchor_bgn(self, href, name, type): self.save_bgn() self.anchor = href def anchor_end(self): text = string.strip(self.save_end()) if self.anchor and text: self.anchors[text] = self.anchors.get(text, []) + [self.anchor] def GetJpg(url): try: global save global total global successed global failed total += 1 seps = url.split("/") size = len(seps) name = seps[size-1] name = save + "\\" + name i = 1 list = name.split(".") while os.path.exists(name): if len(list) == 2: name = list[0] + "_" + repr(i) + "." + list[1] else: name = list[0] + "_" + repr(i) i += 1 dat = urllib.urlopen(url).read() if len(dat) < 11024: print url + "\t[Failed]" return op = open(name, "wb") if not op: print url + "\t[Failed]" exit() op.write(dat) op.close() print url + "\t[OK]" except: print url + "\t[Failed]" def GetBaiduNextPage(url): global pn url += "&rn=" + repr(rn) + "&pn=" + repr(pn) + "&ln=" + repr(ln) pn += 18 return url def GetAllJpg(url): html = urllib.urlopen(url).read() p = Parser() p.feed(html) p.close() cnt = 0 for k, v in p.anchors.items(): for uri in v: if uri.find(".jpg") != -1: ls = uri.split("&") for st in ls: url2 = st.split("=") for st2 in url2: st2 = string.lower(st2) if string.find(st2, "http://") != -1 and string.find(st2, ".jpg") != -1: try: GetJpg(st2) except: continue print "---------------------------------------------------------------------" print "Description: Get p_w_picpat
py3study
2020/01/13
6440
Python - xlrd,xlwt模块操作excel文件
Python输出的数据用Excel文件查看往往更直观,而且Excel中的数据也常常需要读取到Python程序中。Python的xlrd和xlwt模块便是为此而生。文本记录这两个模块的使用方法。 测试用例 使用read_test.xlsx作为读取excel的测试文件。其中两个工作表,分别为: 模块安装 用pip可以方便地安装 pip install xlrd pip install xlwt xlrd 读取excel文件(xls,xlsx) import xlrd ## 读取e
为为为什么
2022/08/04
5500
Python - xlrd,xlwt模块操作excel文件
python django 上传图片
reqfile= request.FILES['p_w_picpath']     
py3study
2020/01/10
1.6K0
python中常见关于Excel表格读写操作
最近在写项目,刚好要运用到excel表格的一些读写,顺便总结一下我以前学过的几个关于表格的操作。在写项目中,经常会见到页面中数据导出到表格中,同时,也会有经常在表格中填写测试用例,然后获取数据来做自动化测试的情况,那就我目前会的几种做一个总结吧~
小雯子打豆豆
2020/08/04
1.6K0
python中常见关于Excel表格读写操作
50. Python 数据处理(1)
逗号分隔符(csv),有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本的形式存储表格数据(数字和文本)。
py3study
2020/01/07
1.1K0
50. Python 数据处理(1)
vscode与python自动办公化
在平时,可能由于不同用途的需要,会复制一个文件内容稍加改动形成一个新的文件。但一段时间后可能想知道自己改动了哪些文件,推荐用vscode(免费且便捷)
用户6841540
2024/08/04
1830
GlusterFS作为OpenStack后端存储
创建3个卷p_w_picpaths、volumes、instances分别对接openstack的glance、cinder、nova组件
子润先生
2021/06/17
6670
windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入
我们在做数据分析,清洗的过程中,很多时候会面对各种各样的数据源,要针对不同的数据源进行清洗,入库的工作。当然python这个语言,我比较喜欢,开发效率高,基本上怎么写都能运行,而且安装配置简单,基本上有网的环境pip install全部都搞定,没网的话,把whl包copy过来一行命令也就解决了( windows下python3.5使用pip离线安装whl包)。
流川疯
2019/01/18
8690
[306]python操作excel表格(xlrd/xlwt)
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载https://pypi.python.org/pypi。下面分别记录python读和写excel.
周小董
2022/04/12
2.6K0
[306]python操作excel表格(xlrd/xlwt)
【4】python读写文件操作---详细讲解!
python读写文件详细讲解! 1.操作xls格式的表格文件: 读取:xlrd 写入:xlwt 修改(追加写入):xlutils 2.操作xlsx格式的表格文件: 读取/写入:openpyxl 一. 读取Excel 1. 导入读取库 import xlrd 2. 打开Excel文件读取数据 data = xlrd.open_workbook('xxx.xls') 3. 获取一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data
汀丶人工智能
2022/12/21
1.2K0
【4】python读写文件操作---详细讲解!
Python解析excel文件并存入sqlite数据库
最近由于工作上的需求 需要使用Python解析excel文件并存入sqlite 就此做个总结 功能: 1.数据库设计 建立数据库 2.Python解析excel文件 3.Python读取文件名并解析 4.将解析的数据存储入库
oYabea
2020/09/07
2.4K0
相关推荐
python下载图片
更多 >
目录
  • 1. eks集群拉取TCR仓库镜像
    • 1.1 eks公网拉取TCR镜像
    • 1.2 eks内网拉取TCR镜像
      • 1.2.1 手动配置hosts解析拉取镜像
      • 1.2.2开启内网自动解析拉取镜像
  • 2. eks集群拉取CCR仓库镜像
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验