k8s部署测试ingress
k8s部署测试ingresscka考试,有ingress的部分,但是ingress-rule好写,但是controller却有些麻烦,katacoda上有ingress部署测试的部分,但想在自己的华为cce上部署上ingress,挺费劲的~还好成功了~~ingress controller...
·
k8s部署测试ingress
cka考试,有ingress的部分,但是ingress-rule好写,但是controller却有些麻烦,
katacoda上有ingress部署测试的部分,但想在自己的华为cce上部署上ingress,
挺费劲的~还好成功了~~
环境:华为cce体验集群服务
- ingress controller:ingress-nginx
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
- ingress service: bare metal NodePort方式
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml
这样Ingress controller就按照好了,接下来,部署ingress-rule以及测试用的后端服务
- ingress-rule
[root@cce-demo1522483688765-00274 cka]# cat rule.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: webapp-ingress
spec:
rules:
- host: my.kubernetes.example
http:
paths:
- path: /webapp1
backend:
serviceName: webapp1-svc
servicePort: 80
- path: /webapp2
backend:
serviceName: webapp2-svc
servicePort: 80
- backend:
serviceName: webapp3-svc
servicePort: 80
[root@cce-demo1522483688765-00274 cka]# kubectl create -f rule.yaml
- backends
[root@cce-demo1522483688765-00274 cka]# cat backend.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp1
spec:
replicas: 1
template:
metadata:
labels:
app: webapp1
spec:
containers:
- name: webapp1
image: katacoda/docker-http-server:latest
ports:
- containerPort: 80
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp2
spec:
replicas: 1
template:
metadata:
labels:
app: webapp2
spec:
containers:
- name: webapp2
image: katacoda/docker-http-server:latest
ports:
- containerPort: 80
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp3
spec:
replicas: 1
template:
metadata:
labels:
app: webapp3
spec:
containers:
- name: webapp3
image: katacoda/docker-http-server:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: webapp1-svc
labels:
app: webapp1
spec:
ports:
- port: 80
selector:
app: webapp1
---
apiVersion: v1
kind: Service
metadata:
name: webapp2-svc
labels:
app: webapp2
spec:
ports:
- port: 80
selector:
app: webapp2
---
apiVersion: v1
kind: Service
metadata:
name: webapp3-svc
labels:
app: webapp3
spec:
ports:
- port: 80
selector:
app: webapp3
[root@cce-demo1522483688765-00274 cka]# kubectl create -f backend.yaml
- status
[root@cce-demo1522483688765-00274 cka]# kubectl get pods -ningress-nginx
NAME READY STATUS RESTARTS AGE
nginx-ingress-controller-785f44484c-rfvmj 1/1 Running 0 3h
[root@cce-demo1522483688765-00274 cka]# kubectl get svc -ningress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.247.160.254 <none> 80:30674/TCP,443:30130/TCP 2h
[root@cce-demo1522483688765-00274 cka]# kubectl get pods
NAME READY STATUS RESTARTS AGE
webapp1-6b8db97858-fsh2h 1/1 Running 0 3h
webapp2-666dd48bb4-6z44w 1/1 Running 0 3h
webapp3-84b7fd69c8-ljgrg 1/1 Running 0 3h
[root@cce-demo1522483688765-00274 cka]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
http ClusterIP 10.247.44.63 <none> 8080/TCP 3d
kubernetes ClusterIP 10.247.0.1 <none> 443/TCP 3d
webapp1-svc ClusterIP 10.247.178.170 <none> 80/TCP 3h
webapp2-svc ClusterIP 10.247.122.72 <none> 80/TCP 3h
webapp3-svc ClusterIP 10.247.91.36 <none> 80/TCP 3h
[root@cce-demo1522483688765-00274 cka]#
- test
[root@cce-demo1522483688765-00274 cka]# kubectl get svc -ningress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.247.160.254 <none> 80:30674/TCP,443:30130/TCP 3h
[root@cce-demo1522483688765-00274 cka]# curl 10.247.160.254
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.15.6</center>
</body>
</html>
[root@cce-demo1522483688765-00274 cka]# curl -H "Host: my.kubernetes.example" 10.247.160.254
<h1>This request was processed by host: webapp3-84b7fd69c8-ljgrg</h1>
[root@cce-demo1522483688765-00274 cka]# curl -H "Host: my.kubernetes.example" 10.247.160.254/webapp1
<h1>This request was processed by host: webapp1-6b8db97858-fsh2h</h1>
[root@cce-demo1522483688765-00274 cka]# curl -H "Host: my.kubernetes.example" 10.247.160.254/webapp2
<h1>This request was processed by host: webapp2-666dd48bb4-6z44w</h1>
[root@cce-demo1522483688765-00274 cka]#
更多推荐
已为社区贡献11条内容
所有评论(0)