Прежде чем настраивать локальную среду разработки, необходимо сначала настроить локальный кластер k8s. Пожалуйста, обратитесь к следующей ссылке для подготовки:
Поскольку демонстрационная среда — это MacOS, вы можете сделать следующее:
brew install docker-machine-driver-xhyve
# Для docker-machine-driver-xhyve требуются права владельца root и uid, необходимы следующие шаги.
$ sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
$ sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
MacOS
brew cask install minikube
Для других систем обратитесь к руководству по установке выше.
MacOS
brew install kubectl
>> minikube start
Starting local Kubernetes v1.8.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config up.god.file.
>> kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", \
GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", \
BuildDate:"2017-11-20T19:11:02Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", \
GitCommit:"0b9efaeb34a2fc51ff8e4d34ad9bc6375459c4a4", GitTreeState:"clean", \
BuildDate:"2017-11-29T22:43:34Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"linux/amd64"}
>> kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.8 --port=6001
deployment "hello-minikube" created
>> kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
>> minikube dashboard
Opening kubernetes dashboard in default browser...
Пример демонстрации будет установлен в ~/Tool/Zero/
Установите и загрузите istio:
curl -L https://git.io/getLatestIstio | sh -
...... # Подождите, пока загрузка ISO up.god.file завершится.
Настройте среду.
Add /Users/lang/Tool/Zero/istio-0.2.12/bin to your path; \
e.g copy paste in your shell and/or ~/.profile:
export PATH="$PATH:/Users/lang/Tool/Zero/istio-0.2.12/bin"
# Затем убедитесь, что команда «istioctl» может быть использована. (Последняя версия 0.2.12)
istioctl version
Version: 0.2.12
GitRevision: 998e0e00d375688bcb2af042fc81a60ce5264009
GitBranch: release-0.2
User: releng@0d29a2c0d15f
GolangVersion: go1.8
Установите «istio» на локальном K8s:
>> cd istio-0.2.12
>> pwd
/Users/lang/Tool/Zero/istio-0.2.12
>> kubectl get svc -n istio-system
No resources found.
>> kubectl apply -f install/kubernetes/istio.yaml (режим без TLS)
namespace "istio-system" created
...... (Все журналы прогресса будут выведены)
deployment "istio-ca" created
Убедитесь, что четыре службы: istio-pilot, istio-mixer, istio-ingress, istio-egress
работают:
>> kubectl get svc -n istio-system
NAME TYPE CLUSTER-IP ......
istio-egress ClusterIP 10.97.67.39 **Истио-инграсс** LoadBalancer 10.111.235.49
Истио-миксер ClusterIP 10.106.88.96
Истио-пилот ClusterIP 10.106.188.200
kubectl get pods -n istio-system
istio-ca-5cd46b967c-kmx58 1/1 Running 0 4m
istio-egress-56c4d999bc-dv8md 1/1 Running 0 4m
istio-ingress-5747bb855f-n74sz 1/1 Running 0 4m
istio-mixer-77487797f6-d5ns9 2/2 Running 0 4m
istio-pilot-86ddcb7ff5-cmcr5 1/1 Running 0 4m
Если вы хотите включить сбор метрик, вы можете сделать следующее:
Ссылка (https://istio-releases.github.io/v0.1/docs/tasks/installing-istio.html).
kubectl apply -f install/kubernetes/addons/prometheus.yaml
kubectl apply -f install/kubernetes/addons/grafana.yaml
kubectl apply -f install/kubernetes/addons/servicegraph.yaml
Обработка всех установленных компонентов может занять некоторое время.
Вы можете ввести следующую команду, чтобы настроить переадресацию портов для grafana:
kubectl -n istio-system port-forward \
$(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') \
3000:3000 &
Затем откройте uri http://localhost:3000/dashboard/db/istio-dashboard в браузере.
Вы должны увидеть следующую страницу:
Вы можете ввести следующую команду, чтобы настроить переадресацию портов для servicegraph:
kubectl -n istio-system port-forward \
$(kubectl get pod -n istio-system -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') \
8088:8088 &
Затем откройте url http://localhost:8088/dotviz или http://localhost:8088/graph в браузере, если существуют сервисы, вы должны увидеть данные JSON или график.
Вы можете ввести следующую команду, чтобы настроить переадресацию портов для zipkin:
kubectl -n istio-system port-forward \
$(kubectl get pod -n istio-system -l app=zipkin -o jsonpath='{.items[0].metadata.name}') \
9411:9411 &
Затем откройте uri http://localhost:9411/zipkin/ в браузере:
Вы должны увидеть следующую страницу:
Вы можете ввести следующую команду, чтобы настроить переадресацию портов для prometheus:
kubectl -n istio-system port-forward \
$(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') \
9090:9090 &
Затем откройте uri http://localhost:9090/graph в браузере:
Вы должны увидеть следующую страницу:
Затем были подготовлены среды docker и istio.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )