helloworld容器化构建

简介: [root@ test]# cat app1.go package main import ( "net/http" "log" "fmt" ) func app1(w http.
[root@ test]# cat app1.go
package main


import (
        "net/http"
        "log"
        "fmt"
)

func app1(w http.ResponseWriter, r *http.Request){
        fmt.Println("app1")
        w.Write([]byte("app1"))
}
func app2(w http.ResponseWriter, r *http.Request){
        fmt.Println("app2")
        w.Write([]byte("app2"))
}
func app3(w http.ResponseWriter, r *http.Request){
        fmt.Println("app3")
        w.Write([]byte("app3"))
}

func main(){

        http.HandleFunc("/app1", app1)
        http.HandleFunc("/app2", app2)
        http.HandleFunc("/app3", app3)
        err := http.ListenAndServe(":5001", nil)
        if err != nil {
                log.Fatal("ListenAndServe: ", err.Error())
        }

}
[root@SZD-L0089619 test]# cat Dockerfile
From domain/official/centos:7.2.1511
COPY ./app1 /istio-test/app1


CMD ["/istio-test/app1"]
[root@ test]#
[root@ helloworld]# cat testapp.yaml
apiVersion: v1
kind: Service
metadata:
  name: testapp
  labels:
    app: testapp
spec:
  type: NodePort
  ports:
  - port: 5001
    name: http
  selector:
    app: testapp
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: testapp-v1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testapp
        version: v1
    spec:
      containers:
      - name: testapp
        image: domain/istio-test:v1
        resources:
          requests:
            cpu: "100m"
        imagePullPolicy: IfNotPresent #Always
        ports:
        - containerPort: 5001
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: testapp-v2
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testapp
        version: v2
    spec:
      containers:
      - name: testapp
        image: domain/istio-test:v2
        resources:
          requests:
            cpu: "100m"
        imagePullPolicy: IfNotPresent #Always
        ports:
        - containerPort: 5001
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: testapp
  annotations:
    kubernetes.io/ingress.class: "istio"
spec:
  rules:
  - http:
      paths:
      - path: /app1
        backend:
          serviceName: testapp
          servicePort: 5001
      - path: /app2
        backend:
          serviceName: testapp
          servicePort: 5001
      - path: /app3
        backend:
          serviceName: testapp
          servicePort: 5001
---
相关文章
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
172081 127
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150654 32
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系
|
人工智能 监控 安全
容器化AI模型的安全防护:构建可信的AI服务
在AI模型广泛应用的背景下,容器化AI模型的安全防护至关重要。主要安全威胁包括数据窃取、模型窃取、对抗样本攻击和模型后门攻击等。为应对这些威胁,需采取多层次防护措施:容器安全(如使用可信镜像、限制权限)、模型安全(如加密、水印)、数据安全(如加密、脱敏)和推理安全(如输入验证、异常检测)。此外,利用开源工具如Anchore Engine、Falco和ART等,可进一步加强防护。遵循安全开发生命周期、最小权限原则和深度防御等最佳实践,确保AI服务的安全性和可信度。
|
机器学习/深度学习 数据采集 人工智能
容器化机器学习流水线:构建可复用的AI工作流
本文介绍了如何构建容器化的机器学习流水线,以提高AI模型开发和部署的效率与可重复性。首先,我们探讨了机器学习流水线的概念及其优势,包括自动化任务、确保一致性、简化协作和实现CI/CD。接着,详细说明了使用Kubeflow Pipelines在Kubernetes上构建流水线的步骤,涵盖安装、定义流水线、构建组件镜像及上传运行。容器化流水线不仅提升了环境一致性和可移植性,还通过资源隔离和扩展性支持更大规模的数据处理。
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
本期节目围绕软件供应链安全、容器安全的主要挑战以及阿里云如何帮助用户等维度展开了深入的讨论。
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
缓存 JavaScript 前端开发
Dockerfile全面指南:从基础到进阶,掌握容器化构建的核心工具
Dockerfile 是容器化开发中的关键工具。理解并掌握其使用方式,不仅能提高开发效率,还能让你的应用具备更强的可移植性和灵活性。通过优化配置和合理安排构建步骤,可以打造更轻量、更高效的容器镜像。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用