部署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去查看,最后点上面得保存

相关推荐
雪域迷影8 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
福大大架构师每日一题9 小时前
22.1 k8s不同role级别的服务发现
容器·kubernetes·服务发现
莹雨潇潇9 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
weixin_4539650010 小时前
[单master节点k8s部署]30.ceph分布式存储(一)
分布式·ceph·kubernetes
weixin_4539650010 小时前
[单master节点k8s部署]32.ceph分布式存储(三)
分布式·ceph·kubernetes
tangdou36909865510 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
tangdou36909865513 小时前
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
docker·容器
later_rql13 小时前
k8s-集群部署1
云原生·容器·kubernetes
weixin_4539650015 小时前
[单master节点k8s部署]31.ceph分布式存储(二)
分布式·ceph·kubernetes
漫无目的行走的月亮16 小时前
在Docker中运行微服务注册中心Eureka
docker