Ŀ¼
- trafik
- envoy
- nginx
mkdir nginx-ingress cd nginx-ingress wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.25.1/deploy/static/mandatory.yaml kubectl apply -f mandatory.yaml kubectl get ns kubectl get pod -n ingress-nginx
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml
cat service-nodeport.yaml apiVersion: v1 kind: Service metadata: name: ingress-nginx namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx spec: type: NodePort ports: - name: http port: 80 targetPort: 80 nodePort: 30080 #指定了nodeport, 好处便于记忆, 坏处可能会端口冲突 protocol: TCP - name: https port: 443 targetPort: 443 nodePort: 30443 #指定了nodeport, 好处便于记忆, 坏处可能会端口冲突 protocol: TCP selector: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx
kubectl apply -f service-nodeport.yaml kubectl get pod -n ingress-nginx kubectl get svc -n ingress-nginx
һ. myapp
创建deployment以及对应的service
apiVersion: v1 kind: Service metadata: name: myapp namespace: default spec: selector: app: myapp release: canary ports: - name: http targetPort: 80 port: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 2 selector: matchLabels: app: myapp release: canary template: metadata: labels: app: myapp release: canary spec: containers: - name: myapp image: ikubernetes/myapp:v1 ports: - name: http containerPort: 80
创建对应service的ingress规则
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-myapp namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: myapp.magedu.com http: paths: - path: backend: serviceName: myapp servicePort: 80
拉取镜像
docker pull tomcat:8.5.32-jre8-alpine
创建deployment以及对应的service
apiVersion: v1 kind: Service metadata: name: tomcat namespace: default spec: selector: app: tomcat release: canary ports: - name: http targetPort: 8080 port: 8080 - name: ajp targetPort: 8009 port: 8009 --- apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-deploy namespace: default spec: replicas: 2 selector: matchLabels: app: tomcat release: canary template: metadata: labels: app: tomcat release: canary spec: containers: - name: tomcat image: tomcat:8.5.32-jre8-alpine ports: - name: http containerPort: 8080 - name: ajp containerPort: 8009
创建对应service的ingress规则
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-tomcat namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: tomcat.magedu.com http: paths: - path: backend: serviceName: tomcat servicePort: 8080
https://zhuanlan.zhihu.com/p/62623207
来源:博客园
作者:培天王
链接:https://www.cnblogs.com/peitianwang/p/11475786.html