使用私有镜像构建一个完整应用服务 本文详细介绍如何使用私有镜像和Helm Chart构建完整的Kubernetes应用服务。包括镜像构建、服务配置、部署测试等关键步骤,助您轻松实现容器化应用管理。
https://github.com/helm/helm/releases
安装 helm v3.9(需要代理)。
这一步是为了打包时拉得到镜像:
sealos login registry.cn-hangzhou.aliyuncs.com -u username -p password
下载 helm chart 模板:
git clone https://github.com/luanshaotong/scienson_osm.git
apiVersion : apps/v1
kind : Deployment
metadata :
labels :
run : avatarsolver-osm
name : avatarsolver-osm
spec :
replicas : { { .Values.osm.replicas } }
selector :
matchLabels :
run : avatarsolver-osm
template :
metadata :
labels :
run : avatarsolver-osm
spec :
containers :
- image : registry.cn-hangzhou.aliyuncs.com/scienson/avatarsplver-osm:2022-07-11-21-05
name : app
ports :
- containerPort : 7001
protocol : TCP
- containerPort : 8080
protocol : TCP
resources :
limits :
cpu : 2
memory : 6144Mi
requests :
cpu : 1
memory : 4096Mi
用域名的方式解析服务:
apiVersion : v1
kind : Service
metadata :
name : osm-service
spec :
type : ClusterIP
selector :
run : avatarsolver-osm
ports :
- name : osm
port : 7001
targetPort : 7001
对公网暴露服务:
apiVersion : networking.k8s.io/v1
kind : Ingress
metadata :
name : osm-ingress
spec :
ingressClassName : nginx
rules :
- host : www.abc.com
http :
paths :
- pathType : Prefix
path : /
backend :
service :
name : osm-service
port :
number : 80
主要用于渲染副本数:
cat images/shim/osm
registry.cn-hangzhou.aliyuncs.com/scienson/avatarsplver-osm:2022-07-11-21-05
FROM scratch
COPY . .
CMD [ "helm install osm scienson-osm-0.1.1.tgz --namespace osm --create-namespace" ]
sealos build -f Dockerfile -t docker.io/luanshaotong/osm:v0.1.1 .
sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 --masters 172.31.37.111
kubectl taint no node-role.kubernetes.io/master:NoSchedule-
kubectl taint no node-role.kubernetes.io/control-plane:NoSchedule-
sealos run labring/ingress-nginx:4.1.0
sealos run docker.io/luanshaotong/osm:v0.1.1
注意:labring/helm 应当在 labring/calico 之前。
如果每一步的应用安装顺利,即可,否则可能需要调试并清理集群重新安装。
如果出现问题需要清理集群:
sealos reset
rm /root/.sealos -rf
重新安装即可。