部署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方式拉取镜像

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 刷新配置

 systemctl restart containerd 

3.部署k8s客户端

ip均需要替换成服务器ip

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,不然私仓其实是找不到该镜像的

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博客创建名称为demo,确定,应用

8.选择一个名称空间

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

9部署一个服务

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

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

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

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

相关推荐

  1. kubekey部署k8s

    2024-04-04 13:14:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 13:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 13:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 13:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 13:14:02       20 阅读

热门阅读

  1. Vue的双向绑定v-model详细介绍

    2024-04-04 13:14:02       13 阅读
  2. 责任链模式详解+代码案例

    2024-04-04 13:14:02       16 阅读
  3. ES6模块与CommonJs模块异同

    2024-04-04 13:14:02       14 阅读
  4. git已经commit的怎么合并信息再push

    2024-04-04 13:14:02       18 阅读
  5. 前端查询前校验该输入的字段是否能够进行查询

    2024-04-04 13:14:02       13 阅读
  6. C++多态

    C++多态

    2024-04-04 13:14:02      15 阅读
  7. 【Vue.js 3.0】NProgress 进度条

    2024-04-04 13:14:02       15 阅读