는 Kubernetes 침투 배포
침투와 포드의 관계
• 서비스 관련
침투 컨트롤러의 부하 분산에 의해 달성 • 포드
- TCP / UDP 4 HTTP 7 레이어와 레이어를 지원합니다
침투 컨트롤러
액세스 프로세스
사용자 액세스 -> 침투 컨트롤러 컨트롤러 (노드) -> 포드
배포 침투 컨트롤러
공식 문서 : HTTPS : //kubernetes.io/docs/concepts/services-networking/ingress/
배포 설명서 : HTTPS : //github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md
참고 :
lizhenliang / nginx를 컨트롤러-Ingress- : 0.20.0 • 미러는 국내 주소로 수정
• 호스트 네트워크를 사용 hostNetwork : 트루을
파일 출처 : wget 용 https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
도 1에서, 구성 파일이 생성 yamol
apiVersion : V1의 종류 : 네임 스페이스 메타 데이터 : 이름 : 진입 - nginx를 --- 종류 : ConfigMap 형 apiVersion : V1의 메타 데이터 이름 : nginx를 - 구성 네임 스페이스 : 진입 - 의 nginx의 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes .io / 파트의 : ingress- 의 nginx --- apiVersion : V1 종류 : ServiceAccount의 메타 데이터 이름 : nginx를 -ingress- serviceaccount 네임 스페이스 : 진입 - 의 nginx의 라벨 : app.kubernetes.io/ 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx --- apiVersion : rbac.authorization.k8s.io / v1beta1의 종류 : ClusterRole의 메타 데이터 이름 : nginx를 -ingress- clusterrole 라벨 : app.kubernetes .io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx의 규칙 : - apiGroups : - "" 자원 : - configmaps - 엔드 포인트 - 노드 - 포드 -비밀 동사 : - 목록 - 시계 - apiGroups : - "" 자원 : - 노드 동사 : - 수 - apiGroups : - "" 자원 : - 서비스 동사 : - 수 - 목록 - 시계 - apiGroups을 : - " 확장 " 자원 : - ingresses를 동사 : - 수 -목록 - 시계 - apiGroups : - "" 자원 : - 이벤트 동사 : - 작성 - 패치 - apiGroups을 : - " 확장 " 자원 : - ingresses / 상태 동사 : - 갱신 --- apiVersion : rbac.authorization.k8s.io / v1beta1 종류 : 역할 메타 데이터 : 이름 : nginx를 -ingress- 역할 네임 스페이스 : 진입 - nginx를 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx의 규칙 : - apiGroups : - "" 자원 : - configmaps - 포드 - 비밀 - 네임 스페이스의 동사 : - 수 - apiGroups을 : - "" 자원 : - configmaps의 resourceNames : #의 기본값을 "<선거-ID> - <진입 클래스>" # 여기서 "<진입 컨트롤러 지도자> - <nginx를>" #이것은 당신이 중 하나를 매개 변수 변경하는 경우 적용되어야 #을 의 nginx-진입 컨트롤러를 시작할 때. - " 진입 컨트롤러 지도자-의 nginx " 동사 : - 수 - 갱신 - apiGroups : - "" 자원 : - configmaps의 동사 : - 작성 - apiGroups을 : - "" 자원 : - 엔드 포인트 동사 : - 얻을 --- apiVersion : RBAC를 .authorization.k8s.io / v1beta1 종류 : RoleBinding 메타 데이터 : 이름 : nginx를 -ingress-역할 nisa- 바인딩 네임 스페이스 : 진입 - 의 nginx의 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / -의 일부 : ingress- 의 nginx roleRef : apiGroup : rbac.authorization.k8s.io 종류 : 역할 이름 : nginx를 -ingress- 역할 주제 : - 종류 : ServiceAccount의 이름 : nginx를 -ingress- serviceaccount 네임 스페이스 : 진입 - nginx를 --- apiVersion : rbac.authorization.k8s.io /v1beta1의 종류 : ClusterRoleBinding 메타 데이터 : 이름 : nginx를 -ingress-clusterrole-nisa- 바인딩 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx roleRef : apiGroup : rbac.authorization .k8s.io 종류 : ClusterRole의 이름 : nginx를 -ingress- clusterrole 주제 : - 종류 : ServiceAccount의 이름 : nginx를 -ingress- serviceaccount 네임 스페이스 : 진입 - nginx를 --- apiVersion : 확장 / v1beta1 종류 : 배포 메타 데이터 : 이름 : nginx를 -ingress- 컨트롤러 네임 스페이스 : 진입 - 의 nginx의 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx의 사양 : 복제본 : 1 선택 : matchLabels : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx의 템플릿 : 메타 데이터 : 라벨 : app.kubernetes.io / 이름 : ingress- 의 nginx app.kubernetes.io / 파트의 : ingress- 의 nginx의 주석 : prometheus.io / 포트 : " 10254 " prometheus.io / 스크랩 : " 사실 " 사양 : serviceAccountName : nginx를 -ingress- serviceaccount hostNetwork : 진정한 용기 : - 이름 : nginx를-ingress- 컨트롤러 이미지 : lizhenliang /nginx-ingress-controller:0.20 0.0 인수 : - / -의 nginx ingress- 제어기 - --configmap = $ (POD_NAMESPACE)를 / nginx- 구성 - --publish 서비스 = $ (POD_NAMESPACE) / ingress-Nginx의 - --annotations 프리픽스 = nginx.ingress.kubernetes.io SecurityContext에 : 기능 : 강하 : - 모든 추가 - NET_BIND_SERVICE의 #의 WWW 데이터 -> 33 하여 RunAsUser 33 ENV : - 이름 : POD_NAME valueFrom : 의 FieldRef : FieldPath에는 : 메타 .name을 - 이름 : POD_NAMESPACE valueFrom : 의 FieldRef : FieldPath에는 : metadata.namespace의 포트 : - 이름 : HTTP containerPort : 80 - 이름 : HTTPS containerPort : 443 livenessProbe : failureThreshold : 3 httpGet : 경로 : / healthz 포트 : 10,254 체계 : HTTP initialDelaySeconds : 10 periodSeconds : 10 successThreshold : 1 timeoutSeconds : 1 readinessProbe : failureThreshold : 3 httpGet : 경로 : / healthz 포트 : 10,254 체계 : HTTP periodSeconds : 10 successThreshold : 1 timeoutSeconds : 1 ---
(2) 용기를 만들
-f mandatory.yaml을 만들 kubectl
3, 포드보기를 만들
포드 -n 진입-의 nginx를 얻을 수 kubectl
4. 호스트 분포를 확인
-o 넓은 포드에게 -n 진입-의 nginx를 얻을 수 kubectl