【kubernates】kubernates发布javaweb程序
结合上篇文章,从harbor下载镜像javaweb程序,并使用kubernates来部署镜像。一:kubernates集群kubernates集群已经安装好了,3个主节点,3个node节点Harbor镜像,拉取idat3镜像二:镜像拉取选择一个主节点10.38.150.61进控制台,拉取镜像#登入Harbordocker login -u admin -p Harbor12345 10.38.15
结合上篇文章,从harbor下载镜像javaweb程序,并使用kubernates来部署镜像。
一:kubernates集群
kubernates集群已经安装好了,3个主节点,3个node节点
Harbor镜像,拉取idat3镜像
二:镜像拉取
选择一个主节点10.38.150.61进控制台,拉取镜像
#登入Harbor
docker login -u admin -p Harbor12345 10.38.150.64:8090
#拉取镜像
docker pull 10.38.150.64:8090/library/idat3
查看镜像拉取成功
镜像拉取成功后,可以先将镜像跑起来是否正常,确保镜像是好的,访问浏览器
docker run -d -p 8099:8099 --name idat 10.38.150.64:8090/library/idat3
三:kubenate部署
创建deployment,接下去用kubernates部署镜像,
(1)首先编写yaml脚本,idat2-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: idat2
spec:
replicas: 3
selector:
matchLabels:
app: idat2
template:
metadata:
labels:
app: idat2
spec:
containers:
- name: idat2
image: 10.38.150.64:8090/library/idat3:latest
ports:
- containerPort: 8099
#dnsPolicy: Default
这里要注意dnsPolicy,是设置pod的dns,这里设置不正确可能会导致域名无法解析
对于 dnsPolicy
有以下策略:
- None 无任何策略,当设置此项,需要设置dncconfig字段
- Default 默认宿主机DNS
- ClusterFirst 集群 DNS 优先
- ClusterFirstWithHostNet 集群 DNS 优先,并伴随着使用宿主机网络
(2)yaml启动deployment
kubectl apply -f idat2-deploy.yaml
查看pod启动情况
kubectl get pod -o wide
(3)创建service,idat2-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: idat2
labels:
name: idat2
spec:
type: NodePort
ports:
- port: 8099
name: idat2-port
targetPort: 8099
protocol: TCP
nodePort: 30009
selector:
app: idat2
yaml启动service
kubectl create -f idat2-svc.yaml
查看service
kubectl get svc -o wide
ui查看
找到pod所在node地址k8node1.wux.chin.seagate.com,找到ip 10.38.150.64。访问web地址
访问程序日志,找到docker 的container,使用命令docker logs [container id]查看程序日志
四:停止kubernate程序
需要删除kubernate程序,删除pod,删除service
kubectl delete ReplicationController/idat2
kubectl delete service/idat2
或者还是按照yaml方式
kubectl delete -f idat2-svc.yaml
kubectl delete -f idat2-deploy.yaml
to be continued:后面整合gitrunner代码CI/CD,发布到kubernates
更多推荐
所有评论(0)