部署服务
写一个简单的页面来演示如何部署服务。
mkdir test cd test # 这是最后要验证的结果 cat >> index.html << EOF <p>Hello from Test App.</p> EOF # 基于 nginx 镜像,把这个文件拷进去 cat >> Dockerfile << EOF FROM nginx COPY index.html /usr/share/nginx/html/ EOF # 构建镜像 podman build . -t docker.imac.local/test-app # push 到我们的私有 registry 中 podman push docker.imac.local/test-app --tls-verify=false
我们打算部署到 test-app.imac.local
这个域名,所以还需要在本机添加 DNS:
cho '192.168.64.2 test-app.imac.local' >> /etc/hosts
下面是要部署的服务的配置文件,都是最基础的配置,不再展开赘述。
apiVersion: apps/v1 kind: Deployment metadata: name: test-app spec: selector: matchLabels: app: test-app template: metadata: labels: app: test-app spec: containers: - name: test-app # 使用刚刚打包的镜像 image: docker.imac.local/test-app ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: test-service spec: selector: app: test-app ports: - name: http port: 80 protocol: TCP targetPort: 80 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test-ingress annotations: kubernetes.io/ingress.class: nginx spec: rules: - host: test-app.imac.local http: paths: - path: / pathType: Prefix backend: service: name: test-service port: number: 80
部署:
kubectl apply -f app.yaml
然后测试一下:
curl -k https://test-app.imac.local # <p>Hello from Test App.</p>
浏览器打开:
大功告成啦!如果要部署新的服务,只需要部署时在本机 /etc/hosts
中添加对应的域名就可以啦!