【王老师说运维】:如何使用k8s拉取私有仓库镜像?
话不多说,直接上,我的zhihu就在下面的图片里面,大家点赞评论加转发,谢谢1)首先在自己的服务器上登录自己的私有镜像仓库,比如我的是阿里云私有镜像仓库(harbor仓库也一样)2)然后这个登录镜像仓库的信息会保存到当前家目录下的.docker/config.json文件中:这个信息就是我们所要的,使用base64加密下执行命令:cat ~/.docker/config.json | base64
话不多说,直接上,我的zhihu就在下面的图片里面,大家点赞评论加转发,谢谢
1)首先在自己的服务器上登录自己的私有镜像仓库,比如我的是阿里云私有镜像仓库(harbor仓库也一样)
2)然后这个登录镜像仓库的信息会保存到当前家目录下的.docker/config.json文件中:
这个信息就是我们所要的,使用base64加密下
执行命令:cat ~/.docker/config.json | base64
把上面生成的一长串字符串复制下来,待会儿要用
2)开始编写k8s yaml文件,我这里就直接写到一个yaml文件里
vim project1.yaml
apiVersion: apps/v1
kind: Deployment #部署一个无状态的deployment服务
metadata:
name: wyn-project1
namespace: project1
labels:
app: project1
spec:
replicas: 3
selector:
matchLabels:
app: project1
template:
metadata:
name: kubia
labels:
app: project1
spec:
imagePullSecrets: # 这里是关键,需要指定镜像拉取策略
- name: docker-registry-secret # 这个名字需要和下面的secret的名字一样
containers:
- image: registry.cn-chengdu.aliyuncs.com/wangyunan_images/myproject:v1
name: project1
hostPath:
path: /usr/share/nginx/html
resources:
requests:
cpu: 1000m
memory: 1024Mi
limits:
cpu: 2000m
memory: 2048Mi
volumeMounts:
- mountPath: /usr/share/nginx/html
name: nginx-data-path
volumes:
- name: nginx-data-path
--- # 这里是三个短杠,表示下面还有内容
apiVersion: v1
kind: Service
metadata:
name: wyn-nginx1-svc
namespace: project1
labels:
app: project1
spec:
type: NodePort
selector:
app: project1
ports:
- port: 30003 # 集群内部通信的端口
targetPort: 80 # nginx容器的端口
nodePort: 30004 # 对外暴露端口
---
apiVersion: v1
kind: Secret
metadata:
name: docker-registry-secret # 这个名字要和imagePullSecrets指定的名字一样
namespace: project1
data:
.dockerconfigjson: ewoJImF1dGhtlci5pby9IjogIm1aGJqSXdNVEkwoaGJqSXdNVEk9IgzdHJ5LmNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbSI6IHsKCQkJImF1dGgiOiAiYzNWdlltVnlRR0ZzYVhsMWJpNWpiMjA2V21oNU1USXp
# 设置pod自动扩容或缩容:kubectl autoscale deployment -n project1 wyn-project1 --cpu-percent=30 --max=5 --min=1
注意:
我上面的 .dockerconfigjson 里面的内容为了安全,做了缩减,需要填上你们自己的
.dockerconfigjson是固定写法,别把那个 . 写漏了
命名空间namespace也需要一样
3)创建
创建pod:kubectl create -f project1.yaml
查看pod、service、secret的状态:kubectl get po,svc,secret -n project1
查看pod拉取的详细信息:kubectl describe po -n project1 wyn-project1-bb68896df-2bsk6
浏览器访问:http://11.18.1.135:30004 这里涉及隐私就不截图了
人生苦短!做个题吧,让你们看看k8s有多香:
高级运维工程师在线评测:
http://www.gtalent.cn/exam/interview/nsYteJ5wFfWkMdb2
高级golang开发工程师在线评测:
http://www.gtalent.cn/exam/interview/fIbUj1PgO7pMoBeH
级Linux运维工程师在线评测:
http://www.gtalent.cn/exam/interview/eUrdXoILlsGnh6At
更多推荐
所有评论(0)