시리즈 :
디렉토리
1 소개
2 istio 연구
2.1 수동 주입 사이드카
2.2 자동 주입 사이드카
1 소개
당신이 블로그에 대한 질문이있을 경우, 마이크로 채널 통신을 추가하십시오 :
2 istio 연구
아홉 개 섹션의 분석은 istio 설치를 폭파 후 쉽게 걸릴. 포드를 실행하면 어떤 영향을 미칠 것 같지 않습니다 거기에 큰 덩어리를보고 있기 때문에하지만, 작은 파트너의 성공적인 설치가 여전히 안개가 있다고 생각합니다. 이 섹션에서는, 아홉은 "구름, 열광적 인 언론의 관심 다음 달에 우리의 시야를 차단 두려워하지 마십시오."가지고 analysis'll 예상되는 결과를 위해, 우리는 다음과 같이 읽어 배포를 설정하실 수 있습니다 :
apiVersion : 응용 프로그램 / V1
종류 : 배포
메타 데이터 :
이름 : nginx를
라벨 :
응용 프로그램 : nginx를
투기:
복제본 : 1
선택자:
matchLabels :
응용 프로그램 : nginx를
주형:
메타 데이터 :
라벨 :
응용 프로그램 : nginx를
투기:
용기 :
- 이름 : nginx를
이미지 :의 nginx : 1.14 고산
포트 :
- containerPort : 80
당신이 더 깊이 마음 형제의 영혼에 인쇄 동생이 먼저 네임 스페이스를 생성해야 할 물론, 배치 작성 :
NS의 jiuxi을 만들 kubectl
-F의 nginx deployment.yaml -n jiuxi 적용 kubectl
命令执行成功后,查询 nginx pod 状态:
kubectl get pods -n jiuxi
截图如下:需要注意 ready 这一列,内容为 1/1,表示的含义是 pod 内有一个容器,且该容器运行成功并处于就绪状态。
下面到了激动人心的时刻了,因为 istio 即将闪亮登场。
2.1 手动注入 sidecar
执行如下语句:
kube-inject -f nginx-deployment.yaml | kubectl apply -n jiuxi -f -
命令执行结果如下图所示:
此时你会发现一个奇怪的现象,nginx-deployment.yaml 并没修改,但是 ready 状态却变成了 2/2。根据上面的解释可知,现在 pod 内有两个容器,且这两个容器都运行成功并处于就绪状态。为什么多了一个容器呢?
查看 pod 的详细信息:
kubectl get pod -n jiuxi nginx-xxxx -o yaml # xxxx 根据自己实际情况填写
如果你有类似 rancher 这样的 web 控制台,可以看得更仔细些,如下图所示。如果你还没有安装和配置 rancher,你可以参考哥的轻松完爆 rancher 系列进行安装,放心,容易到爆,容易到你尖叫。
从上图可知。此时 nginx pod 内部一共有 3 个容器,一个初始化容器 istio-init 已经运行成功并结束了,一个就是 nginx 本尊,另外一个就是本文的主角 istio-proxy 了,它就是 sidecar,作用跟鸡你太美的经纪人的作用差不多,负责跟外部打交道用的。
此时此刻,你已经为 pod 手工织入了 istio。但是这样似乎有点不够爽。因为每建立一个 pod 都撸这么一管,感觉有点累,有没有批量或者更自然的方式呢?
2.2 命名空间注入 sidecar
이제 우리는 방금 만든 nginx를 삭제 :
deployments.apps의 nginx -n jiuxi 삭제 kubectl
자동 분사 사이드카 네임 스페이스 내에서 다음 명령을 실행합니다 :
kubectl 라벨 스페이스 jiuxi istio 분사 = 사용할
kubectl GET NS jiuxi 레이블이 만들어 졌는지 여부 # 확인을 --show-레이블
다시 nginx를-deployment.yaml 파일에 따라 nginx를 배치를 작성 :
-F의 nginx deployment.yaml -n jiuxi 적용 kubectl
포드 정보를 볼 생성되면 자동으로 사이드카로 짠 발견했다.
그 이후로, 구 개 섹션의 분석은 수동 및 자동 직물 기능 istio 발파 후 쉽게 걸릴.