比较不错的网络视频教学地址:https://www.youtube.com/playlist?list=PLmOn9nNkQxJFiWd13kMX4w5ebum1AFJpv
一.部署rancher
1.我这里使用的是最简单的docker部署单机版rancher:v2.5.4
docker run -d --restart=unless-stopped -p 9090:80 -p 9443:443 --privileged rancher/rancher:v2.5.4
部署好以后.本地环境会自动多出一个k3s环境(精简版的k8s)
2.部署k8s集群
(1)新建k8s集群,复制内容去部署master节点: 其他node节点不需要选择 Etcd 角色、一个 Control 角色; 以下是新建好的k8s-master主机:
二.部署docker镜像私有仓库registry
1.同样使用docker进行部署
先设置密码,需要使用到htpasswd命令,我是ubuntu,安装工具:
apt install apache2-utils
生成密码:
htpasswd -Bbn 账号 密码 >/opt/docker/registry/htpasswd
带密码模式启动命令:
docker run -d -p 5000:5000 -v /opt/docker/registry/:/auth/ -v /opt/registry:/var/lib/registry --name register-auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry
2.本地docker设置可以通过非https登录访问
本地:
{
"insecure-registries": ["本地局域网ip:5000"]
}
远程主机访问registry仓库:
{
"insecure-registries": ["公网ip:5000"]
}
三.部署应用
1.直接部署一个nginx,从dockerhub下载镜像
访问172.17.0.2:30001即可;
2.部署自定义应用镜像
(1)先编写应用的Dockerfile:
Dockerfile:
FROM openjdk:8-jdk-alpine
MAINTAINER xiaogao
ADD web.jar web.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/web.jar"]
(2)构建镜像:
docker build -t 172.17.0.1/web . #通过当前目录下的Dockerfile构建,并打标签
docker build -f /opt/docker/Dockerfile . #指定目录
(3)推送镜像到私有仓库:
docker push 172.17.0.1/web
(5)报错拉取镜像缺少验证 新增镜像仓库验证密码,使用命令行输入:
kubectl create secret docker-registry default --docker-server=172.17.0.1:5000 --docker-username=gaoyang --docker-password=12345 --docker-email="test@qq.com" --namespace=default
(6)部署成功,访问172.17.0.1:30470即可访问服务:
注意
1.rancher使用非443接口访问:
如容器内的80端口映射到外面是8xxx,则访问后会自动跳转到8443; 所以避免该问题,可以改为将容器内端口443映射到x443;
docker run -d --restart=unless-stopped \
-p 9090:80 -p 9443:443 \
--privileged \
rancher/rancher:v2.5.4
2.rancher-k3s使用私有镜像仓库
https://docs.rancher.cn/docs/k3s/installation/private-registry/_index/
本文由 GY 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2022/07/20 15:11