天天看点

k8s拉取私库镜像创建delopy service

创建阿里云私有Registry

参考阿里云官方文档,仓库名称:express-app

pull地址:registry.cn-hangzhou.aliyuncs.com/neibo/express-app

将镜像推送到Registry

docker login --username=内博科技 registry.cn-hangzhou.aliyuncs.com
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/neibo/express-app:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/neibo/express-app:[镜像版本号]           

备注:即修改镜像名称和tag同镜像仓库一致

从Registry中拉取镜像

docker login --username=内博科技 registry.cn-hangzhou.aliyuncs.com
docker pull registry.cn-hangzhou.aliyuncs.com/neibo/express-app:v1           

编写express-app.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: express-app
spec:
  selector:
    matchLabels:
      app: express-app
  replicas: 1
  template:
    metadata:
      labels:
        app: express-app
    spec:
      containers:
      - name: express-app
        image: registry.cn-hangzhou.aliyuncs.com/neibo/express-app:v1
        ports:
        - containerPort: 3000
      imagePullSecrets:
        - name: my-secret           

在pull镜像时,需要用docker私有仓库登录账号和密码,设置命令如下:

kubectl create secret docker-registry regsecret --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>           

编写express-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: express-service
  labels:
    app: express-app
spec:
   type: NodePort
   ports:
   - targetPort: 3000
     nodePort: 32000
     port: 3100
     protocol: TCP
   selector:
    app: express-app           

创建delopy service

kubectl create -f express-app.yaml
kubectl create -f express-service.yaml
           

访问:

http://lockplat.com:3000

地址,即可查看效果。

调度pod运行于master节点上方法一

k8s拉取私库镜像创建delopy service

调度pod运行于master节点上方法二

出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。如果希望将k8s-master也当作Node使用,可以执行如下命令:

kubectl taint node k8s-master node-role.kubernetes.io/master-           

其中k8s-master是主机节点hostname如果要恢复Master Only状态,执行如下命令:

kubectl taint nodes <node-name> node-role.kubernetes.io/master=:NoSchedule

kubectl taint nodes <node-name> node-role.kubernetes.io/master:NoSchedule-           

继续阅读