(點選上方公眾號,可快速關註)
來源:乞力馬扎羅的雪CYF ,
blog.csdn.net/chenyufeng1991/article/details/79843618
-
kube-tomcat.yaml實現如下。
這裡是把Deployment和Services在一個檔案中實現了。也可以分為兩個檔案來實現。
# Copyright 2015 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the “License”);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an “AS IS” BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Configuration to deploy release version of the Dashboard UI.
#
# Example usage: kubectl create -f
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
labels:
app: kube-tomcat
version: v1.1.1
name: kube-tomcat
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: kube-tomcat
template:
metadata:
labels:
app: kube-tomcat
spec:
containers:
– name: kube-tomcat
image: docker.io/chenyufeng/tomcat-centos
imagePullPolicy: Always
ports:
– containerPort: 8080
protocol: TCP
args:
# Uncomment the following line to manually specify Kubernetes API server Host
# If not specified, Dashboard will attempt to auto discover the API server and connect
# to it. Uncomment only if the default does not work.
– –apiserver-host=http://47.97.90.38:8080 ## 請修改為自己的kube-apiserver
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 30
timeoutSeconds: 30
—
kind: Service
apiVersion: v1
metadata:
labels:
app: kube-tomcat
name: kube-tomcat
namespace: default
spec:
type: NodePort
ports:
– port: 80
targetPort: 8080
selector:
app: kube-tomcat
-
完整的檔案如下:
在master上,然後使用如下命令建立deployment和Service
kubectl create -f kube-tomcat.yaml
檢視建立的deployment:、
kubectl get deployment
檢視這個deployment的詳情:
kubectl describe deployment kube-tomcat
檢視建立的service:
kubectl get service
檢視這個service的詳情。
kubectl describe service kube-tomcat
-
service詳情這裡的IP就是CLUSTER-IP. CLUSTER-IP是和service系結的。
-
service詳情這裡的Port就是Service的埠號。
-
service詳情這裡的NodePort就是Node的真實埠號。
-
service詳情這裡的Endpoints就是容器的IP和port。
檢視建立的pod:
kubectl get pod
檢視其中一個pod的詳情。
pod詳情這裡的IP是nodes中的虛擬IP。該虛擬IP可以去nodes裡面使用ifconfig檢視。
kubectl describe pod kube-tomcat-1115055280-tk1f8
在nodes上檢視建立的容器:
-
然後使用瀏覽器訪問:http://47.97.90.38:8080/api/v1/proxy/namespaces/default/services/kube-tomcat/
這裡一定要指定namespaces和services。
-
然後到nodes中,把war使用“docker cp”複製到容器的tomcat/webapps,就可以實現頁面的訪問了【這裡可能需要等待較多時間,至少幾分鐘】
-
在Postman中進行測試
註意在請求中的IP應該是master所在的IP。傳回成功。可以使用Postman來進行介面測試,測試透過表示部署成功。
-
以上步驟的部署也可以結合持續整合CI/CD來進行,能簡化不少流程。
看完本文有收穫?請轉發分享給更多人
關註「ImportNew」,提升Java技能