Create Sample Pod

Tomcat 배포하기

$ helm install stable/tomcat --generate-name

 

$ helm ls

NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART             APP VERSION
tomcat-1583555004       default         1               2020-03-07 13:23:26.8564549 +0900 KST   deployed        tomcat-0.4.1      7.0

 

$ kubectl get pod -n default

NAME                                READY   STATUS    RESTARTS   AGE
tomcat-1583555004-5bb85f7cf-7n9kh   1/1     Running   0          39m

 

$ kubectl logs -f tomcat-1583555004-5bb85f7cf-7n9kh -n default

INFO: Deployment of web application archive [/usr/local/tomcat/webapps/sample.war] has finished in [172] ms
Mar 07, 2020 4:24:13 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Mar 07, 2020 4:24:13 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 207 ms

 

$ kubectl get service -n default

NAME                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes          ClusterIP   10.96.0.1               443/TCP   17h
tomcat-1583555004   ClusterIP   10.108.118.99           80/TCP    47m

 

$ kubectl edit service tomcat-1583555004 -n default

- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: "2020-03-07T05:14:11Z"
    labels:
      app: tomcat
      chart: tomcat-0.4.1
      heritage: Helm
      release: tomcat-1583555004
    name: tomcat-1583555004
    namespace: default
    resourceVersion: "154140"
    selfLink: /api/v1/namespaces/default/services/tomcat-1583555004
    uid: 34fc980b-08dc-4c11-ab09-98762032b0d1
  spec:
    clusterIP: 10.102.165.113
    externalTrafficPolicy: Cluster
    ports:
    - name: http
      nodePort: 32195
      port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: tomcat
      release: tomcat-1583555004
    sessionAffinity: None
    type: LoadBalancer => type: ClusterIP
  status:
    loadBalancer: {}

 

 

Ingress Object 생성

 

$ vi ingress.yaml

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: tomcat-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: tomcat.terrycloud.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-1583555004
          servicePort: 80

 

$ kubectl apply -f ingress.yaml

ingress.networking.k8s.io/tomcat-ingress created

 

$ kubectl get ingress -n default

NAME             HOSTS                   ADDRESS         PORTS   AGE
tomcat-ingress   tomcat.terrycloud.com 10.111.32.141   80      25m

 

웹브라우저에서 접속 테스트

hosts 파일에 추가

172.17.79.167 tomcat.terrycloud.com

 

http://tomcat.terrycloud.com/sample/index.html

 

 

 

 

'Kubernetes' 카테고리의 다른 글

Istio Networking  (0) 2020.03.09
Istio Service Mesh  (0) 2020.03.08
Helm 3  (0) 2020.03.07
Kubernetes Ingress Controller  (0) 2020.03.06
Create Kubernetes Cluster  (0) 2020.03.01