Kubernetes本地私有仓库配置
实验环境
master 10.6.191.181
node1 10.6.191.182
node2 10.6.191.183
本地私有仓库 10.6.191.184
一、安装本地私有仓库
1、安装docker
yum install -y docker
service docker restart
2、下载Docker registry镜像,并启动私有仓库
docker pull registry
mkdir -p /data/registry/
docker run -itd -p : -v /data/registry:/var/lib/registry docker.io/registry

默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下。
二、Kubernetes 使用本地私有仓库构建kubernetes-dashboard
1、docker私有仓库配置
1)从网盘中下载并导入kubernetes-dashboard和pod-infrastructure(或者docker search这两个镜像,然后pull)
将两个镜像都改名为。
10.6.191.184:/kubernetes-dashboard-amd64:latest
10.6.191.184:/pod-infrastructure:latest
2)vim /etc/sysconfig/docker,添加红色代码:
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry gcr.io --insecure-registry 10.6.191.184:
5000'
重启docker
service docker restart
3)上传镜像到仓库
docker push 10.6.191.184:/kubernetes-dashboard-amd64:latest
docker push 10.6.191.184:/pod-infrastructure:latest
4)检测本地私有仓库
curl -XGET http://10.6.191.184:5000/v2/_catalog
curl -XGET http://10.6.191.184:5000/v2/kubernetes-dashboard-amd64/tags/list
2、node节点配置
1)node节点docker配置文件添加如下代码,同时重启docker服务,获取本地私有仓库。vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false
ADD_REGISTRY='--add-registry 10.6.191.184:5000'
#添加私有仓库

2)需要在Docker主机添加本地仓库地址,/etc/docker/daemon.json文件中代码如下,并重启docker:
cat > /etc/docker/daemon.json << EOF
{
"insecure-registries":["10.6.191.184:5000"]
}
EOF
service docker restart
3)修改/etc/kubernetes/kubele
配置文件将KUBELET_POD_INFRA_CONTAINER选项注释,同时添加一个新的KUBELET_POD_INFRA_CONTAINER参数,代码如下,前提需要将pod-infrastructure镜像上传私有仓库。
#KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.6.191.184:5000/pod-infrastructure:latest"
4)在每台nodes上重启kubelet服务
systemctl restart kubelet.service
ps:
1、当构造kubernetes-dashboard报错。
查看pod描述
kubectl get pods --all-namespaces
kubectl describe pods/kubernetes-dashboard--hptlr --namespace="kube-system"

原因:缺少gcr.io/google_containers/pause-amd64:3.0基础镜像
解决办法:在所有节点都下载这个基础镜像,新版本的Kubernetes在安装部署中,需要从k8s.grc.io仓库中拉取所需镜像文件,但由于国内网络防火墙问题导致无法正常拉取,不能 直接下载这个镜像,所有拉去其他源的镜像,并改tag。
docker search pause-amd64
docker pull docker.io/huangyj/pause-amd64
docker tag docker.io/huangyj/pause-amd64:latest gcr.io/google_containers/pause-amd64:3.0
docker rmi docker.io/huangyj/pause-amd64
2、在/etc/sysconfig/docker和/etc/docker/daemon.json不能同时有insecure-registries,报错了

解决办法:只在/etc/docker/daemon.json添加,在/etc/sysconfig/docker不添加。
3、master端配置
1)创建kube-namespace.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]'
spec:
containers:
- name: kubernetes-dashboard
image: 10.6.191.184:/kubernetes-dashboard-amd64:latest
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
ports:
- containerPort:
args:
- --apiserver-host=http://10.6.191.181:8080
livenessProbe:
httpGet:
path: /
port:
initialDelaySeconds:
timeoutSeconds:
---
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
selector:
k8s-app: kubernetes-dashboard
ports:
- port:
targetPort:
2)创建dashboard
kubectl create -k kube-dashboard.yaml
3)查看状态
kubectl get pods --all-namespaces
Kubernetes本地私有仓库配置的更多相关文章
- docker使用registry搭建本地私有仓库
参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时 ...
- docker 搭建本地私有仓库
1.使用registry镜像创建私有仓库 安装docker后,可以通过官方提供的 registry 镜像来简单搭建一套本地私有仓库环境: docker run -d -p : registry: 这将 ...
- Docker基础-搭建本地私有仓库
1.使用registry镜像创建私有仓库 安装Docker后,可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境: docker run -d -p 5000:5000 regist ...
- kubeadm init 时从本地私有仓库下载镜像
#kubeadm init 时从本地私有仓库下载镜像 images=( gcr.io/google_containers/kube-proxy-amd64:v1.6.1 gcr.io/google_c ...
- Docker本地私有仓库实战
Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下: 1)节省网络带宽,针对于每个镜像不用去Dock ...
- Docker容器之搭建本地私有仓库
Docker容器之搭建本地私有仓库 本地私有仓库搭建的具体步骤 首先下载 registry 镜像 docker pull registry 在 daemon.json 文件中添加私有镜像仓库的地址并重 ...
- maven+nexus配置本地私有仓库
以下是settting.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <settings> ...
- npm私有仓库 配置verdaccio在docker环境
前端开发过程中,少不了自己封装一些通用的包,但又不想放在公共的平台,所以搭建一个npm私有的仓库是很有必要的. 在这里简单介绍如何使用 verdoccio 在docker环境下的配置.verdocci ...
- 关于kubernetes使用私有仓库一点说明
一.概述 关于kubernetes使用私有docker image registry的一些说明: 1.对于自己构建的项目镜像或一些不想暴露到外网的image需要使用自建的私有仓库,一般有两种选择:d ...
随机推荐
- 将hexo的评论系统由gitment改为Valine
title: 将hexo的评论系统由gitment改为Valine toc: false date: 2018-09-13 15:10:56 categories: methods tags: hex ...
- 项目结合activiti工作流框架使用
项目结合activiti工作流框架使用: 1.项目与工作流框架的结合. 2.状态:草稿(待审批).审批中.审批通过.审批失败 3. 提交审批: 0 草稿(待审批),记录绑定工作流执行id,审批状态设置 ...
- 压缩图片C#算法
转载自 http://www.open-open.com/lib/view/open1391348644910.html using System.IO; using System.Drawing; ...
- Ueditor富编辑器
坑多的Ueditor富编辑器 第一步:修改serverUrl: window.BASEPATH + "notice/word" 第二部:添加依赖包 <dependency&g ...
- div控制最小高度又自适高度
div控制最小高度又自适高度我们在用div布局的时候经常会遇到这样的一种情况:我们需要设置一个div的高度,当里面的东西超过这个高度时,让这个容器自动被撑开,也就是自适应高度.当里面的信息很少时候,我 ...
- Hadoop2.x 关于日志文件位置
查看日志是发现Hadoop问题和解决Hadoop问题的第一步. 开始我不知道该去哪找日志,后来我发现在我启动节点的时候,有打印信息以及明确告诉了日志写在哪. [root@master hadoop]# ...
- String值传递剖析
转载自 http://www.iteye.com/topic/412531 提要:本文从实现原理的角度上阐述和剖析了:在Java语言中,以String作为类型的变量在作为方法参数时所表现出的“非对象” ...
- Flux架构与Redux简介
Flux架构区别于传统的MVC架构 在facebook实践中, 当用户接收到新消息时,右上角会弹出你有一条新消息, 右下角的对话框也会提示有新消息, 如果用户在对话框中查看了新消息,那么右上角的这个新 ...
- BZOJ 3376 [Usaco2004 Open]Cube Stacking 方块游戏(带权并查集)
题解 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #in ...
- linux VNC-server
[root@kvm-server Packages]# rpm -qpi tigervnc-server-1.8.0-1.el7.x86_64.rpm Name : tigervnc-server V ...