Kubernetes แฃแแแแแ แแแฎแแ แแแแขแแแแแ แแแแก แแแแแแแแแแก แแแแแแแแขแฃแ แ แแแแขแคแแ แแ. แแก แฃแแ แฃแแแแแงแแคแก แแแแฅแแแก แงแแแแแคแ แแก แแแแขแ แแแแก แจแแกแแซแแแแแแแแก แแแกแ API-แแแแก แแ แกแแแแแ แแแแขแ แแแแ แแแแก แแแแแงแแแแแแ, แ แแแแแแแช แแคแแ แแแแแแ แแแก API-แแแก แแแ แแแแฃแแ แ แแกแฃแ แกแแแแ.
แแฃแแชแ, แแแแฎแแแ แแแแแแ แฏแแ แแแแแ แฃแแแ แแแแฆแแก แแแขแแแฃแ แ แแแแแฌแงแแแขแแแแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แแแแแแแแกแแก, แแแแแแแคแแแฃแ แแ แแก, แแแ แแแก แแ แแแแคแแ แแแแก แแแแแแแชแแแแ. แแแแแแแชแแแก แแแกแจแขแแแแ แแแแก, แแแชแแแกแ แแ แแแซแ แแแแแก แแแแแแแก แกแแแแแฎแแแ แ แฉแแแ แแแแฎแแแ แแแแแก แจแแฎแแแฃแแแแแกแแแแแ . แแก แแแแแกแฎแแแแแแก Kubernetes-แก แฉแแแฃแแแแ แแแ แแแแขแคแแ แแแแแกแแแ, แ แแแแ แช แกแแ แแแกแแกแแแ (PaaS), แ แแแแ แแชแแ Cloud Foundry แแ Heroku.
แแแแขแคแแ แแแแก แแฅแแ แแแแแ แขแแแแแฃแแ แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแ แแ แแแแแแแฃแแแ แแแแแแแชแแแแแก แจแแแฅแแแแแแแแกแแแแก, แ แแแแแแแช แงแแแแแแ แฎแจแแ แแ แแแแแฌแแแแแแแ แแแแแแแแฃแแแฃแ แ แแแแแแแชแแแแแก แแแงแแแแแแจแ. แแแ แจแ แฃแขแแแแชแแ, แแแแแแแแแ แแ แแแขแ แแแ แแแแฎแแแ แแแแแกแแแแก แแแแญแแแ แแแแแ แแแแ แแแแ PaaS แกแแกแขแแแแก แแแแ .
แฌแงแแ แแแแ แแแแแก แกแแแฃแจแแ แแ แแชแแกแก PaaS แแแ แแแแก แแแแขแแแแแ แแก แแแ แแแแฃแแ แกแฃแ แแแแก แจแแฅแแแแ, แแแกแ แแแแแแแแแแ, แแฎแแแ แแแ แจแ แฃแขแแก แแ DNS แฅแแแแแแแแแก แแแงแแแแแแ แจแแแแแแแแแ แขแ แแคแแแแกแแแแก. แแก แงแแแแแคแแ แ แแแจแแแแฃแแแ แแ แซแแแแแแ git push
.
Kubernetes (แแแแแ แแฎ) แฃแแ แฃแแแแแงแแคแก แแฎแแแแ แซแแ แแแแแ แกแแแจแแแแแแ แแแแแแแก แแกแแแ แแแแขแคแแ แแแแแกแแแแก, แ แแช แกแแแแแแแแแแแก แขแแแแแก แแแแแกแฃแคแแ แกแแแฃแจแแแก แแแแแ แแแแแแแแก. แฒ แแแแ
Kubernetes แแ แแก แแแแขแคแแ แแ แแแแขแคแแ แแแแแก แจแแกแแฅแแแแแแ. แกแแฃแแแแแกแ แแแแแชแแ แแแฌแงแแแแกแแแแก, แแแแ แแ แแ แ แแแกแแกแ แฃแแแกแแแแก.
แจแแแแแแ, แฉแแแ แแฎแแแแแ Kubernetes-แแก แฃแแแ แแ แแแแแแแแแก, แแกแแแ แแแกแแแแซแแ แแแแแแแแแแก, แ แแแแแแแช แชแแแแแแแ แจแแฅแแแแ PaaS Kubernetes-แแกแแแแก, แ แแแแ แแชแแ OpenShift แแ Rancher. แแแแ แแ Kube-PaaS แแแแ แแก แคแแแแ, Knative, แ แแแแแแช แแแแ แกแแ 2018 แฌแแแก แแแแแกแจแ Google-แแกแ แแ Pivotal-แแก แแแแ , แจแแแแแแก แ แแแแแ.
Knative แแงแ Google-แแกแ แแ Pivotal-แแก แแแแแแจแ แแแแแแ, แกแฎแแ แแแแแแแแแแแก แแชแแ แ แแแฎแแแ แแแแ, แ แแแแ แแชแแ IBM, RedHat แแ Solo.im. แแก แแกแแแแก PaaS-แก แกแแแแแแแแก Kubernetes-แก แฃแแแฆแแแก แแแแแแ แแฎแแ แแแญแแ แแ แกแแ แแแ แแก แแแ แแจแ แแแแแแแแแแแ แแแคแฃแซแแแแฃแแ แแแแแแแชแแแแแกแแแแก. Kubernetes build-แแแแกแแแ แแแแกแฎแแแแแแแ, Knative แแแแแกแขแแแแ แแแฃแแแ แ แแแแ แช แแแแแแแขแ แแแแแกแแแแ แแแแกแแแแแ Kubernetes แแแแกแขแแ แแ แแ แแแแคแแแฃแ แแ แแแฃแแแ แแแแฎแแแ แแแแแก แ แแกแฃแ แกแแแแ.
แ แ แแ แแก Knative?
Knative แแฆแฌแแ แแแแ, แ แแแแ แช โแแฃแแแ แแแขแแกแแ แแแคแฃแซแแแแฃแแ แแแแขแคแแ แแ แกแแแฃแจแแ แแแขแแแ แแแแก แแแฌแแแแแแกแ แแ แแแ แแแแกแแแแก แแแแแแแแ แแแ แกแแ แแแ แแก แแแ แแจแ แแแแแแแแแแแก แแแแแงแแแแแแโ. Knative, แแแแแกแแแแแ, แ แแแแ แช แแกแแแ แแแแขแคแแ แแแก แแแแแแแแก แแ แแก, แแฅแขแแฃแ แแ แแฎแแแแก แแแแขแแแแแ แแแแก แแแขแแแแขแแแแ แแแแก HTTP-แแก แแแแแฎแแแแ แแแแฎแแแแแแแก แแ แแแแ แชแแฃแแแ. แแแแแฃแงแแแแแแแ แกแแ แแแกแแแ แกแแแแแแแ แแชแแ แแแแ แแฃแแแแแ, แ แแช แฃแแ แฃแแแแแงแแคแก แกแแ แแแ แแก แแแ แแจแ แแแแฎแแแแแก แกแแแแแ แแแแก.
Knative แจแแแแแแ แแแแขแ แแแแ แแแแก แแแแ แแแแกแแแ, แ แแแแแแแช แแแแแแขแแแแแฃแแแ Kubernetes-แแก แแแแแกแแแแ แแแแกแขแแ แจแ แแ แฃแแ แฃแแแแแงแแคแก แจแแแแแ แจแแกแแซแแแแแแแแแก:
- แแแแขแแแแแ แแ แแแฃแแ แแแแแแแชแแแแแก แแแแแ แกแแฌแงแแกแ แแแแแแแ (แแแฌแแแแแฃแแ แแแแแแแแแขแแก แแแแ แแฆแแแแแแ),
- แแแแแแแชแแแแแ แจแแแแแแแแ แขแ แแคแแแแ แฌแแแแแแก แฃแแ แฃแแแแแงแแคแ (แแแฌแแแแแฃแแ แแแแแแแแแขแแก แแแแ แแแแกแแฎแฃแ แแแ),
- แแแแแแแชแแแแแก แแแฌแแแแแ แแ แแแขแแแแขแฃแ แ แแแกแจแขแแแแ แแแ แแแแฎแแแแแ (แแกแแแ แแแฌแแแแแฃแแแ แแแแแแแแแขแแก แแแแ แแแแกแแฎแฃแ แแแ),
- แแแแแแแชแแแก แแแจแแแแแแแ แแแแแแแแ แแแแแแแแแแก แฌแงแแ แแแแแก แแแแแขแแคแแชแแ แแแ (แแแฌแแแแแฃแแ แแแแแแแแแขแแก แแแแ แฆแแแแกแซแแแแ).
แซแแ แแแแแ แแแแแแแแแขแแ แกแแ แแแกแ, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก แแแ แแฃแแ แแแแแแแชแแแแแก แฃแแ แฃแแแแแงแแคแแก, แแแขแแแแขแฃแ แแแกแจแขแแแแ แแแแก แแ แขแ แแคแแแแก แแแ แแแแก. Knative-แแก แแแกแขแแแแชแแแก แจแแแแแ, แแฅแแแ แแแแแ แแแฅแแ แกแ แฃแแ แฌแแแแแ Kubernetes API-แแ, แ แแช แแแแฎแแแ แแแแแแก แแแแแแแชแแแแแก แแแ แแแแก แกแแจแฃแแแแแแก แแซแแแแก แฉแแแฃแแแแ แแแ แแแ, แแ แแกแแแ แแแกแแฎแฃแ แแแ Knative แกแแ แแแกแแแแก แแแแแ แแแแก, แแฃแจแแแแก แแแแแ API แแ แแแแขแแแแแแ, แ แแแแแแกแแช แแก แกแแ แแแกแแแ แแงแแแแแแ (แแแแฃแแแแ, แกแแ แแแกแแแ แแ แ.แจ.).
แกแแ แแแกแแก แแแฎแแแ แแแแ, แแฃแ แฏแ-แแฌแแแแ แขแ แแคแแแแก แแแ แจแ แฃแขแแแแชแแ แแกแแแ แแแขแแแแขแแแแ แแแฃแแแ, แ แแช แฃแแ แฃแแแแแงแแคแก แขแ แแคแแแแก แแแแแฏแแแแก แแแแแแแชแแแก แแฎแแ แแ แซแแแ แแแ แกแแแแก แจแแ แแก, แ แแแแกแแช แแแแฎแแแ แแแแแ แแฌแแแแก แแแแแแแชแแแก แแแแแฎแแแแฃแ แแแ แกแแแก.
แแแแแ Knative แแแแแแแแแแฃแแแ แแแแกแแแแแ แจแแกแแกแแแแแ แแแแขแ แแแแ แแก แแแงแแแแแแแ. แฌแแ แแก แแ แแก แแก แกแขแแขแแ แแฎแแ แแแญแแ แแแแ
Istio Service Mesh แจแแแซแแแแ แแงแแก แแแแ แแแแแแแแแแฃแแแแ Knative แแแแฎแแแ แแแแแแแกแแแแก, แ แแแแแแกแแช แกแฃแ แ แกแชแแแแ แแก Istio แแแ แแแแก แแแแแแแก แแแงแแแแแแก แแแ แแจแ, แ แแแแแ Knative แแแแแแแแแแฃแแแ แแฎแแแแ แแแ แแแญแแแ.
แแ แแแแแแแ, แแแแฎแแแ แแแแแแ แฃแแแขแแกแแแ แฃแแแ แแขแแกแแแแก แแแแญแแแก Gloo-แก, แ แแแแ แช Knative-แแก แแแ แแแญแแก, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก Istio-แก แแกแแแแกแ แจแแกแแซแแแแแแแแแแก แแแแแแแฅแขแก (แแฎแแแแ Knative-แแก แแแแแงแแแแแแก แแแแแแ), แแแแกแแแ, แแกแแแ แแงแแแแแก แแแแจแแแแแแแแแ แแแแแแ แ แแกแฃแ แกแแแก แแ แแฅแแก แแแแแแ แแแแ แแชแแฃแแ แฎแแ แฏแแแ.
แแแแแ แจแแแแแแฌแแแ Knative แแแฅแแแแแแแจแ แกแขแแแแแ. แแ แแแแแแแงแแแแ แแฎแแแ แแแงแแแแแฃแ แแแแกแขแแ แก, แ แแแแแแช แแฃแจแแแแก GKE-แจแ:
kubectl get namespace
NAME STATUS AGE
default Active 21h
kube-public Active 21h
kube-system Active 21h
แแแแแฌแงแแ Knative-แแกแ แแ Gloo-แก แแแกแขแแแแชแแ. แแก แจแแแซแแแแ แแแแแแแแก แแแแแกแแแแ แ แแแแแแแแแแ แแแแ:
# ััะฐะฒะธะผ Knative-Serving
kubectl apply -f
https://github.com/knative/serving/releases/download/v0.8.0/serving-core.yaml
namespace/knative-serving created
# ...
# ััะฐะฒะธะผ Gloo
kubectl apply -f
https://github.com/solo-io/gloo/releases/download/v0.18.22/gloo-knative.yaml
namespace/gloo-system created
# ...
แฉแแแ แแแแแฌแแแแ, แ แแ แงแแแแ แแแแ แแ แแก โแแแจแแแแฃแแโ แกแขแแขแฃแกแจแ:
kubectl get pod -n knative-serving
NAME READY STATUS RESTARTS AGE
activator-5dd55958cc-fkp7r 1/1 Running 0 7m32s
autoscaler-fd66459b7-7d5s2 1/1 Running 0 7m31s
autoscaler-hpa-85b5667df4-mdjch 1/1 Running 0 7m32s
controller-85c8bb7ffd-nj9cs 1/1 Running 0 7m29s
webhook-5bd79b5c8b-7czrm 1/1 Running 0 7m29s
kubectl get pod -n gloo-system
NAME READY STATUS RESTARTS AGE
discovery-69548c8475-fvh7q 1/1 Running 0 44s
gloo-5b6954d7c7-7rfk9 1/1 Running 0 45s
ingress-6c46cdf6f6-jwj7m 1/1 Running 0 44s
knative-external-proxy-7dd7665869-x9xkg 1/1 Running 0 44s
knative-internal-proxy-7775476875-9xvdg 1/1 Running 0 44s
Gloo แแแแ แแ แแก แแแ แจแ แฃแขแแแแชแแแกแแแแก, แแแแแ แจแแแฅแแแแ Knative แกแแ แแแกแแก แแแขแแแแขแฃแ แ แแแกแจแขแแแแ แแแ (แแแแแ แแแแแ แฅแแแ แแแก kservice) แแ แแแแแแ แแแ แขแ แแคแแแก แแแกแแ.
Knative แกแแ แแแกแแแ แแซแแแแ แฃแคแ แ แแแ แขแแ แแแแก Kubernetes-แจแ แแแแแแแชแแแแแก แแแฌแแแแแแกแแแแก, แแแแ แ แฉแแแฃแแแแ แแแ Deployment+Service+Ingress แแแแแแ. แฉแแแ แแแแฃแจแแแแแ แแ แแแแแแแแแ:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: helloworld-go
namespace: default
spec:
template:
spec:
containers:
- image: gcr.io/knative-samples/helloworld-go
env:
- name: TARGET
Value: Knative user
แแ แแแแแแแแแ แ แแก แคแแแแจแ, แจแแแแแ แแแแแแ แแ แฉแแแก Kubernetes แแแแกแขแแ แก แแ แแแแ:
kubectl apply -f ksvc.yaml -n default
แฉแแแ แจแแแแแซแแแ แแแแฎแแ Knative-แแก แแแแ แจแแฅแแแแแ แ แแกแฃแ แกแแแ แแแแกแขแแ แจแ แฉแแแแ 'helloworld-go'-แแก แแแฌแแแแแแก แจแแแแแ แฅแกแกแแ แแแกแ:
kubectl get pod -n default
NAME READY STATUS RESTARTS AGE
helloworld-go-fjp75-deployment-678b965ccb-sfpn8 2/2 Running 0 68s
แแแแ แฉแแแแ 'helloworld-go' แแแแฏแแ แแฎแกแแแแ, แ แแแแกแแช kservice แแแแแแแแแฃแแแ. แแฃ แขแ แแคแแแ แแ แแ แแก, แแแแแแแก แ แแแแแแแแ แแฃแแแแแ แจแแแชแแ แแแแ. แแ แแแ แแฅแแ, แแฃ แแ แแแ แแฃแแ แแแแฎแแแแแแแก แ แแแแแแแแ แแแแแแญแแ แแแแก แแแ แแแแฃแ แแแแคแแแฃแ แแ แแแแ แแฆแฃแ แแแก, แแแแแ แแแแ แแแแแแแก แ แแแแแแแแ.
kubectl get ingresses.networking.internal.knative.dev -n default
NAME READY REASON
helloworld-go True
Knative แแแแแคแแแฃแ แแ แแแก แแแก แจแแฆแฌแแแแก แจแแแ Knative API-แจแ แกแแแชแแแแฃแ แ โแจแแกแแแแกโ แ แแกแฃแ แกแแก แแแแแงแแแแแแ. Gloo แแงแแแแแก แแ API-แก, แ แแแแ แช แแแก แแแแคแแแฃแ แแชแแแก PaaS-แแก แแกแแแแกแ แคแฃแแฅแชแแแแแก แฃแแ แฃแแแแแกแแงแแคแแ, แแแ แจแแ แแก แแฃแ แฏแ-แแฌแแแแ แแแแแแแแแแก แแแแแแแก, แแแขแแแแขแฃแ แ TLS แแฆแกแ แฃแแแแแก, แแ แแแก แแแแฌแฃแ แแแกแ แแ แกแฎแแ แแแคแแ แแแแแฃแแ แแแ แจแ แฃแขแแแแชแแแก แคแฃแแฅแชแแแแแก แฉแแแแแแ.
แแแ แแแแฃแแ แแแ แแแแแก แจแแแแแ, แฉแแแ แแฎแแแแแ, แ แแ แฉแแแแ แ แแแแแแ แแแฅแ แ (แ แแแแแ แแ แแงแ แจแแแแแแแแแ แขแ แแคแแแ):
kubectl get pod -n default
No resources found.
kubectl get deployment -n default
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
helloworld-go-fjp75-deployment 0 0 0 0 9m46s
แกแแแแแแแ แฉแแแ แแแชแแแแแ แแแ แแแแแฆแฌแแแ. แแฅแแแ แจแแแแซแแแแ แแแ แขแแแแ แแ แแแ แขแแแแ แแแแฆแแ URL Knative Proxy-แแก แแแแแงแแแแแแ glooctl
:
glooctl proxy url --name knative-external-proxy
http://35.190.151.188:80
แแแงแแแแแแก แแแ แแจแ glooctl
แแแกแแแแ แแ แแ แแแ แขแ แจแแแแซแแแแ แแแฎแแ kube แกแแ แแแกแจแ:
kubectl get svc -n gloo-system knative-external-proxy
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
knative-external-proxy LoadBalancer 10.16.11.157 35.190.151.188 80:32168/TCP,443:30729/TCP 77m
แแแแแ แแแแฃแจแแแ แแแ แแแแฃแแ แแแแแชแแแแแ cURL-แแก แแแแแงแแแแแแ:
curl -H "Host: helloworld-go.default.example.com" http://35.190.151.188
Hello Knative user!
Knative แฃแแ แฃแแแแแงแแคแก แแแแฅแแแก PaaS-แก แแแแแแแแแ แแแแกแแแแก แงแฃแแแก แแแฆแแ Kubernetes-แแก แแแแแ Gloo-แก แแแฆแแแ แฎแแ แแกแฎแแก API แแแ แแแญแแก แแแแแงแแแแแแ. แแ แแแกแขแแ แแฎแแแแ แแแแแฌแ แ Knative-แแก แแแ แกแแแแแแแแชแแแก แแ แชแแแ แแแ แแแแขแแแ แแ แแแแแขแแแแแ แคแฃแแฅแชแแแแ. แแแแแ Gloo!
แแแแกแแ แแแฃแฎแแแแแแ, แ แแ Knative แฏแแ แแแแแ แแฎแแแแแแ แแ แแ แแแฅแขแแ, แแแกแ แแฃแแแ แแแ แชแแแแแก แแฎแแ แแแ แกแแแแก แงแแแแ แแฅแแก แแแแ แแจแ แแ แแฎแแ แแ แแแแฌแงแ แแแฌแแแแแ แคแฃแแฅแชแแแแแก แแแแแ แแแ, แ แแแแ แแชแแ แแแขแแแแขแฃแ แ TLS แแแแแแแแแ, แแแ แแแแก แแแแแแแก แแแขแแแแขแฃแ แ แแแกแจแขแแแแ แแแ. แแ แกแแแแแก แแแ แแ แจแแแกแ, แ แแ แแ แแแแ แฆแ แฃแแแแแแ แแแแแแแแแก แจแแ แแก แแแแแแจแ แแแแแแแก แจแแแแแแ แแ แ แแแแ แช Google-แแก แแฎแแแ Cloud Run แจแแแแแแแแแแก แกแแคแฃแซแแแแ, Knative แจแแแซแแแแ แแแฎแแแก แฃแกแแ แแแ แ แแแแแแแแแกแ แแ PaaS-แแก แซแแ แแแแแ แแแ แแแแขแ Kubernetes-แแ. แแแฐแงแแแแ แกแแแฎแแแแแก!
SouthBridge-แแก แ แแแแฅแขแแ แแแแแแ
แแแแแฎแแแแแ แแแกแแแ แแแแแ แฉแแแแแแแก แแแแจแแแแแแแแแแ, แแแแขแแ แแแฎแแแ, แแแแฆแแ แแแแแฌแแแแแแ แแแแแ แแแแแแแแฎแแแจแ, แ แแแแแแช แแแแแแจแแ แแแฃแแแ แแแแแแแ แกแขแแขแแแแแแ Knative-แแก, Kubernetes-แแก, แกแแ แแแ แแก แแแ แแจแ แแแแแแแแแก แจแแกแแฎแแ:
แแแแแแแแฎแแแจแ แแแแแฌแแแแแแ แจแแฃแซแแแแ แแฎแแแแ แแแ แแแแกแขแ แแ แแแฃแ แแแแฎแแแ แแแแแแก.
แฃแแแ แแแแแแ แซแแแ แกแขแแขแแแแแก แแ แกแแฎแแแแซแฆแแแแแแแแแแก แฌแแ แ Knative แแ แกแแ แแแ แแก แแแ แแจแ แแแแแแแแแก แจแแกแแฎแแ?
-
แฒแแแฎ, แแฃ แจแแแซแแแแ.
-
แฒแ แ แแแแแแแแ.
แแแกแชแ แฎแแ 28 แแแแฎแแแ แแแแแแ. 4 แแแแฎแแแ แแแแแแ แแแแ แจแแแแแแ.
แฌแงแแ แ: www.habr.com