는 Kubernetes 침투 배포

는 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 
 
---
정력 유입-nginx.yaml

(2) 용기를 만들

-f mandatory.yaml을 만들 kubectl 

3, 포드보기를 만들

포드 -n 진입-의 nginx를 얻을 수 kubectl

4. 호스트 분포를 확인

-o 넓은 포드에게 -n 진입-의 nginx를 얻을 수 kubectl

 

추천

출처www.cnblogs.com/xiangsikai/p/11414153.html