11.2.3 验证使用Knative Build构建的镜像

接下来验证上述构建出的容器镜像是否正常工作。创建一个使用该镜像的Deployment资源文件sample-deployment.yaml,内容如下所示:


apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: sample
  name: sample
spec:
  replicas: 1
  selector:
    matchLabels:
      run: sample
  template:
    metadata:
      labels:
        run: sample
    spec:
      containers:
      - image: osswangxining/docker-helloworld-go:latest
        imagePullPolicy: Always
        name: sample

然后通过创建一个对应的服务资源文件sample-service.yaml,暴露端口80,如下所示:


apiVersion: v1
kind: Service
metadata:
  labels:
    app: sample
  name: sample
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    run: sample
  type: LoadBalancer

通过运行kubectl apply命令创建部署与服务,如下所示:


kubectl apply -f sample-deployment.yaml
kubectl apply -f sample-service.yaml

获取服务的访问地址和端口,如下所示:


kubectl get svc sample
NAME     TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
sample   LoadBalancer   172.19.65.71   47.95.98.78   80:32654/TCP   32s

打开浏览器,输入地址http://47.95.98.78/或者通过curl命令,可以看到该服务输出“Hello world!”的字样。