创建阿里云私有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节点上方法一

调度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-