K8S在创建容器时,无法从本地localhost中获取镜像,因此,需要将镜像发布到私有镜像库,然后再从私有镜像库创建应用。
首先在docker中安装registry,
1 | docker run -d -p 5000:5000 --name registry registry:2 |
然后,编辑docker 的daemon 配置文件,增加http支持:
1 | "insecure-registries": [ |
这里,192.168.124.4是本机的IP地址。
然后,将本地镜像推送到registry中:
1 | docker tag kpi:latest 192.168.124.4:5000/kpi:latest |
发布完成后,可以创建k8s的app和服务:
1 | apiVersion: apps/v1 |
运行:kubectl apply -f kpi-k8s.yaml
服务的配置文件:
1 | apiVersion: v1 |
运行:kubectl apply -f kpi-k8s-service.yaml
使用kubectl get services查看创建的服务:
1 | NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
对外的映射端口为31271
可以通过这个端口访问服务。