我使用
deployment.yml
和 service.yml
安装了 pod 和服务,如下所示。
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: apa000dep
spec:
selector:
matchLabels:
app: apa000kube
replicas : 3
template:
metadata:
labels:
app: apa000kube
spec:
containers:
- name: apa000ex91
image: httpd
ports:
- containerPort: 80
service.yml
apiVersion: v1
kind: Service
metadata:
name: apa000ser
spec:
type: NodePort
ports:
- port: 8099
targetPort: 80
protocol: TCP
nodePort: 30080
selector:
app: apa000kube
两者都很好,我可以直接访问 pod
localhost:30080
然后我安装了入口。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- http:
paths:
- pathType: Prefix
path: /*
backend:
service:
name: apa000ser
port:
number: 8099
目前,没有主机名,
$kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress <none> * 80 4m25s
所以,我安装了
ingress-nginx
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml
kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default apa000dep-84d9f4dbf8-67cxk 1/1 Running 0 5h1m
default apa000dep-84d9f4dbf8-8h66d 1/1 Running 0 5h1m
default apa000dep-84d9f4dbf8-qg7ft 1/1 Running 0 5h1m
default apa000dep-84d9f4dbf8-tv8qm 1/1 Running 0 5h1m
default apa000dep-84d9f4dbf8-v66zb 1/1 Running 0 5h1m
default demo-75ddddf99c-j895l 1/1 Running 0 5m54s
ingress-nginx ingress-nginx-admission-create-f2kkj 0/1 Completed 0 13m
ingress-nginx ingress-nginx-admission-patch-lz2tg 0/1 Completed 0 13m
ingress-nginx ingress-nginx-controller-6bc476f787-6bczx 1/1 Running 0 13m
ingress-nginx nginx-ingress-controller-675f468cc5-49k4z 0/1 CrashLoopBackOff 7 (4m54s ago) 15m
那我怎么设置本地测试的域名呢?
是否应该在ingress.yml中设置域名?