部署k8s客户端,及docker私仓部署

1.部署一个docker私仓

mkdir /opt/docker/registry
#配置仓库密码
mkdir /opt/docker/auth
cd /opt/docker/auth
htpasswd -Bbn admin admin > htpasswd

#运行docker私仓服务,下面端口5000:5000  前面的5000对应本机端口可以自定义
docker run -itd  \
-v /opt/docker/registry:/var/lib/registry \
-v /opt/docker/auth:/auth \
-p 5000:5000 \
--restart=always \
--name registry \
registry:latest


#配置私仓http访问
mkdir -p /etc/docker
echo '{ "insecure-registries" : ["xxx.xxx.xx.xx:5000"] }' | sudo tee /etc/docker/daemon.json
systemctl restart docker

2.在所有k8s work节点服务器上,都执行以下操作

vim /etc/containerd/config.toml

将下面127.0.0.1换成上一步docker私仓地址,目的可以通过http方式拉取镜像

python 复制代码
vim /etc/containerd/config.toml
# 搜索  plugins."io.containerd.grpc.v1.cri".registry.mirrors  找到对应位置,添加如下内容,

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        # 如下这些仓库可以作为公共仓库使用
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
            endpoint = ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","http://127.0.0.1:5000"]
        # 内部私有仓库配置
		[plugins."io.containerd.grpc.v1.cri".registry.mirrors."127.0.0.1:5000"]
            endpoint = ["http://127.0.0.1:5000"]
			
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        # 内部私有仓库认证信息
        [plugins."io.containerd.grpc.v1.cri".registry.configs."127.0.0.1:5000"]
          [plugins."io.containerd.grpc.v1.cri".registry.configs."127.0.0.1:5000".tls]
            insecure_skip_verify = true # 是否跳过证书认证 

修改结束后,执行 systemctl restart containerd 刷新配置

python 复制代码
 systemctl restart containerd 

3.部署k8s客户端

ip均需要替换成服务器ip

python 复制代码
mkdir /opt/docker/k8s-data

#运行k8s客户端,注意下面ip需要换成本机服务器ip,前面的80端口可以自定义
docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://127.0.0.1:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /opt/docker/k8s-data:/data \
  eipwork/kuboard:v3
  • 页面访问http://127.0.0.1:80即可进入客户端管理页面

  • 默认密码 admin/Kuboard123

4.本地服务镜像安装

构建后需要push,不然私仓其实是找不到该镜像的

python 复制代码
docker build -t 127.0.0.1:5000/gateway:1.0 --build-arg JAR_NAME=gateway.jar .

# 构建完后执行push
docker push 127.0.0.1:5000/gateway:1.0


# 如果存在很多tag为none的镜像可以执行下面命令删除这些镜像
docker image prune

5.通过k8s客户端配置服务

参照第3部,登录Kuboard页面

6.导入k8s集群

参照以下步骤,

  • 添加集群

  • 选右侧的Kuboard Agent添加

  • 输入名称和描述

  • 确定

  • 确定后显示如下页面

  • 检查命令框内容,地址是否为k8s客户端的ip和端口

  • 先到k8s主节点执行查看命令 kubectl get nodes,检查运行状态如下

  • 粘贴命令框内容到k8s主节点机器里执行, 一定要到k8s主节点去执行,不是k8s客户端机器

  • 执行结束后,点击页面的 我已经执行了导入命令按钮

  • 等待大概1分钟,页面自动会变成如下样子

7.创建一个名称空间

如下图,依次点击,进入创建名称空间选择页面,

若是页面无法看到右侧的名称列表,在master节点服务器 参考如下地址操作

[解决k8s访问报anonymous cannot get path的问题_message": "forbidden: user \"system:anonymous\" ca-CSDN博客](https://blog.csdn.net/baidu_38432732/article/details/106469037 "解决k8s访问报anonymous cannot get path的问题_message": "forbidden: user \"system:anonymous\" ca-CSDN博客")创建名称为demo,确定,应用

8.选择一个名称空间

如下点击下拉箭头,选中上面创建的pdn名称,默认创建完自动选中

9部署一个服务

如下操作,也可以自定义一些副本数量之类的,名称不能有中文等特殊字符

再点击容器信息,点击添加工作容器,点击右侧创建按钮

弹框配置docker私仓地址,最后点击保存,应用,确定

填写容器信息,容器镜像可通过docker images去查看,最后点上面得保存

相关推荐
dessler11 分钟前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
zhy2956311 分钟前
【DOCKER】基于DOCKER的服务之DUFS
运维·docker·容器·dufs
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
年薪丰厚3 小时前
如何在K8S集群中查看和操作Pod内的文件?
docker·云原生·容器·kubernetes·k8s·container
zhangj11253 小时前
K8S Ingress 服务配置步骤说明
云原生·容器·kubernetes
岁月变迁呀3 小时前
kubeadm搭建k8s集群
云原生·容器·kubernetes
墨水\\3 小时前
二进制部署k8s
云原生·容器·kubernetes
Source、3 小时前
k8s-metrics-server
云原生·容器·kubernetes
上海运维Q先生3 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
颜淡慕潇3 小时前
【K8S问题系列 |19 】如何解决 Pod 无法挂载 PVC问题
后端·云原生·容器·kubernetes