ααΌαααααΆααααααααΆαααααααΈ Kubernetes Quick Start ααααααΎαα αααααΊααΆαα½αααααααααΆαααααΆααααα½ααα½αα±ααα
αΆααα’αΆαααααααααα»ααααααΎαααα½αααΆαααΆαα’ααΈαααΊαα·α αα·ααα
αααα»αααΆαααααα»ααααααΆαααααααΎαα α
ααααΎαα’αααααααΆα Kubernetes α
α’αααααααΆααααααααααΊ Daniel Polenchik (
Daniele Polencic ) ααΆααΈαααα ααααΎααΆαααΆααααΌαααααα αα·αα’ααααααααΎααααααα·ααΈααLearnk8s .
ααααα·αααΎα’αααα
ααα±αααααα½αααααα’αααααααΎααα
αααα»αα’ααααααααααΆαα,
ααΉαβααΆαβαααα ααβαα»αβ?
ααΎααααΎααΌα ααααα ααΎααααΈααααΆααα ααααα Kubernetes αα αααα»αααααααααααα·ααααααααααααααααΆ?
αααααα:
Kubefed v2 ααΉααααααααΆαααααα α αΎααααα»αααααΌαααααΆαα±ααα’αΆαα’αααΈααΆααΆααΉααααα·α ΠΈαααααααααααα·ααΈααααααααα αααΎααααα»α .
ααΆααΉααα α αααααΆαα ααΆααααααααααααΌαααΆαα αααα αα·αα ααα αΆαααΆααααααααααααααα ααΆαα·ααααα αααα»αααα·ααΆααΆααααααΆααααααααααα
ααααα·αααΎααααααα½ααα·αα’αΆα ααααΎααΆααα α ααΆα αααααααΌαααΆααααααΌααααααα ααααααα½αααα ααΎααααΈαααααΆαααΆαααααΆαα
ααΆαα½α Kubernetes α’αααα’αΆα ααααΎαα»αααααΆαααααααααααααααΆ αα·αα ααα αΆαααααα»αααΆαααΆααα ααΌααΆαααααααααααααααααΆα
α’αααα’αΆα ααΆαα ααααααα½α α¬α αααΎααααα»ααα½ααααα»α ααααα ααα·ααααΆα α¬ααΆααα½ααααα αΌαααααΆααααΆαα»ααΆαααααα
α αααααααααα’αααα’αΆα ααααΌαααΆααααα αααα αααα»ααααααααααααααΆ αα·ααα αααα»αααα·αααα
ααα»ααααβααΎβα’αααβααΆαβααααααβα αααααΆαα
ααΆααααααααβαααααΆααβααΆαβααΈαβααΆαααΆαβααΆαβααΌαα·ααΆαααααβαααβααΆ?
ααΎα’αααααααΌαααΆααααααΎαα
ααααααααα½ααααααΆααααα·ααααΆααααααΆα
αααΎααα
ααΎαααααΆααααα½ααα?
α¬ααΆαα
αααααααΌα
αααΆα
αααΎα α αΎααααα·ααΈααΎααααΈααααααααα αα·αααααΎααααΆααααααα½αααΆ?
α αααααααΆαααΆα’αααααΉαααΆααα½αα
ααΆααααααΎαα ααααααα½ααα ααΎαααααΆααααα½αααΊαα·αααΆααααα½ααααααα
αααααααΆα’αααααΆαα§αααααα ααα»αα½α ααΆααααααΆαααααΆααααααα αααααααααΌαααΆαααΆαααααα
ααααα·αααΎα’αααααΆααααΆαααΈααααααα½α ααααΆαααΆαααααααΆαααΉααα·αα’αΆα ααα½αααΆααααααααΆααααΈααΆααα ααααααα½αααααΉααα·αα’αΆα ααΆααααααααΆαααα
α αΎααααα»αααααααα½α α’αααααΆαααΆααΆαααααΌαα
αΆαα (kube-proxy
αα·αβα’αΆα
βααΆαβααβααααΈβ) αα·αβααααΆαβααβααααααβααα (kubelet αα·αβα’αΆα
βααααΎβαα»αβααΆαβααααΎβα±ααβααΆααβααααβ) α
ααΎααααΈααααΎα±αααααα αΆααΆααααα’αΆααααα ααααα·αααΎ Kubernetes αα·αααΎαααααΆαααα ααΆαααααΆααααΆααΆαααααααααααΆ α αΎαα ααα αΆααααααααΆαααα ααααΆαααααααΆαααααΆααα
ααΆααααααα’αααααΆαααααα αααΎαααΆαααΈαααα
ααααα·αααΎα’ααααααααΎααααααα½ααααααΆαααααααααΈαα½αα ααΆααΉαααΆααααα αΆααΆαα½ααααα½ααααααααΆαααΆαααααααααα αααα»αααΌαααααΆααα·αααααα etcd α (αααα αα ed α - ααΆααα·α ααΌαααααΆααα·αααααα etcd αα·αα αΆαααΆα αααΆαααΈααΆαααα ααΎαααΆαααΈαααααα ααΆα’αΆα ααααΌαααΆαααααΎαααΆααα ααΎαααα»αααΆα ααααα‘αααααααΆαααΈααααα αααα»αααααααααα½αα αα·α αααα»ααααααΆαα½αααααΆααα½αααΆαα ααα»α αααΆαααααα αααααα ααα»αααααααΆαααΆαααα ααα)
ααΆαααααΎααααΆαα etcd
αααααΊ ααΆαα
αααΎαααααααΈααααΌαααααΆααααααΆαα―αααΆα αα»ααααααααα’αΆα
ααααΌαααΆαααααααα
αα
ααααα·αααΎααΆαααΊααααΆααααΆαααααα» etcd ααΎαα‘αΎααααΆαααααΆαα ααΌα
ααΆααααΈ etd ααΈαα
αααα»ααααααααααααααααΆ ααΆααααΌαααΆααααααΌαααΎααααΈα
αα
αΆααααα α αΎααααααααΆαα
ααΆαα
αααααααΌαααΆααααα»ααααα
αΆαααα
αααα»αα§ααααααααααΆ Kubernetes α
α’ααααααααααααα§ααααααααααΆααααΌαααΆααααααααΆαααααααααααΎααααΈααααααααα’αααΈααΆαααααΆααααααΌα αα·ααααααααΆαααααΎααααα ααΆααααΌαααααΆααα·ααααααα
α αΎαα αΆααααΆααααΈαα·αααΆαα§ααααααααααΆαα½α, ααα»ααααααΆα αααΎα, ααααααααααααα·αααααααααΆαα α αΎαα αααααααΆααααΌαα αΆααααααΎαααααΎαααΆαααΊαααΆααα.
etcd ααΊααΆαααΆααααΎαααααΆααααΆαα
αα αα α»αααααααα·αααΆαα§ααΆα αααααα’αααααααΆααααααααΆααα ααααααααα½αααα
ααΆααΌαα αα ααααα’αααα’αα·αααααα αα·ααααα»α SIG-cluster αααα»αααααΆααΆααααα·ααΈαααα ααααα»αααΆαααααααΌα ααααΆ Kubernetes αααα ααα»αααΊαααα
αααααΎαααΈ 1: αα αααααα αααααααΆαα½α kubefed
ααΆαααααΎαααααΆααααΌαααΆαααΈ SIG-cluster -
ααΆααΎαααααΌα ααΎαααΆαααααΆααΆααααααααααααααα»αααα αααααααΆααααα»αααα½ααααααααΎα§ααααααα ααααα kube α
ααΆαβα αΆααβααααΎβαβααΊβααΆβααΆαβααα’βααα»ααααβαα βααΈβαααα ααβαα ααααα kube αα·αβαααβααΆαβαααααΆαααα·αααΆαβαααβααΆαβααβααΆβαα·αβααΆαβααΆααααβααααΆαβααΆααβα’ααβα
α§ααΆα ααα ααΆααΆααααααΆαα
ααα
αΆα αα·αααααΆαααααα ααααα ααα»αααααα·ααααααΆ StatefulSets ααα
ααααα ααΆαααααααα
ααΆαααααααααα αααααααααΌαααΆααααααΌαααΆαααααααααα
αααΆααααααα αα·ααα·αα’αΆα
ααααααααΆαα
αααααααΎαααΈαααααααα’αααα’αΆα αα·αααααΆα’αααΈααΆααααα ααα αααααααααΆααα αααααααΈαα½αααα αααα»ααα ααααααααααααΆααααααααΎα αααΆαααααααα
ααΆααΆααΆαααααααααααααααα
SIG-cluster ααΆαααααΎααΆαααΆαααΆα αααΎααααααΆααααΈ kubefed v1 α αΎαααΆααααααα α α·ααααααααααΆααααα αΆααΈαα»ααααααααααΆα
αααα½αα±ααααΆααααααα αα½αααααΆααααααα α α·ααααααα ααα§ααααααααααΆαααααααΌαααΆαααα‘αΎααα ααΎα αααααα ααΆα’αΆα ααααΌαααΆαααααΌαααΆααααααααααααΎ Custom Resource Definitions (CRDs)α
αααααΆααααααΆαααΈαα½αααααααΉαααααΆαααΆααααααααα ααααα α’αααααΆααα·ααααα CRD ααααΆαααααα½ααααααΆαααΈαααααα
- αα·ααααααααααααΆαααααααΆα α§ααΆα ααα ααΆαααΆαααααααΆα;
- ααααα
placement
αααα’ααααααααααΈαααααααααααΆαααΉαααααΌαααΆαα ααα αΆααα αααα»ααα αααααα - ααααα
override
αααααΆααααααααααααααΆααααααΆαααΆααααΆαααα½α α’αααα’αΆα ααα·ααααααααα αα·ααααΆαααΆααααααααΈααΆαααΆααα
αααααΊααΆα§ααΆα αααααααΆαα ααα αΆααα½αααΆαα½αααΉααααααααΆαα αα·αααα·ααα
apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedDeployment
metadata:
name: test-deployment
namespace: test-namespace
spec:
template:
metadata:
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
placement:
clusterNames:
- cluster2
- cluster1
overrides:
- clusterName: cluster2
clusterOverrides:
- path: spec.replicas
value: 5
ααΌα
αααα’αααα’αΆα
ααΎαααΆαααααααααααααααΌαααΆαα
ααα
αΆααα
ααΌααΆααα
αααααααΈα: cluster1
ΠΈ cluster2
.
α αααααααΈαα½αααααααααααααΆαα ααααα ααα½α 5 α αΎαααΈααΈαααααΌαααΆαααααααα XNUMX α
ααααα·αααΎα’αααααααΌαααΆαααΆααααααααααααααααααΎα ααα½αααααΆαα ααααααα kubefed2 αααααααΌαααααα» ReplicaSchedulingPreference ααααΈ αααααΆαα ααααα’αΆα ααααΌαααΆαααααΉααααααα
apiVersion: scheduling.federation.k8s.io/v1alpha1
kind: ReplicaSchedulingPreference
metadata:
name: test-deployment
namespace: test-ns
spec:
targetKind: FederatedDeployment
totalReplicas: 9
clusters:
A:
weight: 1
B:
weight: 2
αα ααΆαααααααα CRD αα·α API αα·αααΆαααα½α ααΆαααα α‘αΎααα α αΎαααΆαααΆαααααααααα»αααααΎαααΆααα αααα»αααααΆααααααααααααΌαααΆαα
ααΆαααΆα kubefed2 ααα»ααααααααΌαα αΆαααΆααΆαα·αααΆααααΆααααααααΆααααα·ααα α‘αΎαα
ααΎαβαααααααααβα’αααΈ kubefed2 from
αααααΎαααΈ 2α ααΆααα½ααααα αΌαα ααααααα αααα»ααα ααΆααααα Booking.com
α’αααα’αα·αααααα Booking.com αα·αααααΎαααΆαααΎ kubefed v2 αα ααα»αααααα½αααααΆααααααΎα Shipper αααααΆααααα·ααααα·αααααααΆααα ααα αΆααα ααΎα αααααααΆα αααΎα αααα»αααααα αα·ααααα»ααααααΆα αααΎαα
α§αααααααΆααααΈαα’αα»ααααΆαα±ααα’αααααααΌαααΆαααααααΌααα»αααααΆαααααααΆαααααααΆαα αααΎαα αααααααααα’ααα (α ααααααα½αααΆααααΌαααΆαααααΎααααΆαα αα·αα ααα½αα ααααααααα½αααααΆα)α
ααα»αααα ααααα ααααα’αααααΉααααααΌαααΊααΎααααΈααΆαααααααα αΆαα·αααααααα α»ααααα»αα’αα‘α»ααααααΉααααααΌαα
αα αααα»α Shipper α’αααα’αΆα ααααααααααΈααααα αΆαααααα·αααααΆα’αααΈααΆααααα ααααααΆαα αααααααΆαααΆαααΆαααααααΆαααΈαα»α αα·ααα αα α»αααααα αα·αααα·ααΆαααα ααΆα αα αΌαα
αα αααα’ααααα»αααααΆααα α ααααα αααα§ααααααααααΆα’αααααΉααααααΌαααΉααααααΎαααΆαααααΆααααααΌααααααααααΆαααααααα ααααααααααΆαα αΌααα½αα
ααΌα ααααΆαααααααα Shipper ααΆααααααααΆααα
α§ααΆα ααα ααΆααα½αααααΆααΆααα½ααα»ααααα·ααΆαααΆααΆααααα
αΌα αα·ααα·αααΆααααααααΆααααΆααΈα‘αΆα
ααΆααΌαα
Shipper ααααΎααΆαααΌα
αααα
αααα½αα±ααααΆαα ααα αΆααααααααΆα α’αααααααΌααααααΎαααααΆααααααα·ααΈααααα½ααααα αΌαααΆααΆα Helmα
apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
name: super-server
spec:
revisionHistoryLimit: 3
template:
chart:
name: nginx
repoUrl: https://storage.googleapis.com/shipper-demo
version: 0.0.1
clusterRequirements:
regions:
- name: local
strategy:
steps:
- capacity:
contender: 1
incumbent: 100
name: staging
traffic:
contender: 0
incumbent: 100
- capacity:
contender: 100
incumbent: 0
name: full on
traffic:
contender: 100
incumbent: 0
values:
replicaCount: 3
Shipper ααΊααΆαααααΎαααααα’αααααΆααααΆααααααααααα αααααααΆα αααΎα ααα»ααααααααΆαααααααα·ααααα·αααααααααΆααΆαα½α Helm ααα½αααΆααααα αααα»αααααΌαααα»αααααα
α
α»αααΎααΎαααΆααα’ααααααΆααααΌαααΈ Helm αα
ααΎαβαααααααααβα’αααΈ Shipper and its philosophy at
ααααα·αααΎα’αααα
ααααΈαα
αΌααα
αααα»αααΌα,
αααααΎαααΈ 3α ααΆααα½ααααα αΌαααααΆααα ααααα "ααααααα"
Kubefed v2 αα·αα’αααααΉααααααΌαααααΎααΆαααΆαα½ααα αααααα ααααα ααααααααααααΆαααααΈααααααα»αααΆααααααΆααααααααααΆαααααΆαααααα½αα
ααα»ααααα α»ααααΆαααΆααΎα’ααααα·αα αααααααα‘αΎααα·αααΌαααΆαα ααα αΆαααΆααα’αα StatefulSets, DaemonSets ααΆααΎα ααΎααααΈαααα αΌαααααΆ?
ααΎααααΎααΌα ααααα ααΎααααΈαα½ααααα αΌαα ααααααααααΆαααααΆαααα αααα»ααα αααααααααα·αααααΆααααααΌα YAML?
ααα»αααααααα½αα±ααααΆαα ααααΌααα·ααΈααααΈααΎααααΈααααΎα’ααααααααααΆαα½αα ααααα αα·ααα»αααααΆααααα»ααα·αααααααααΆαααααα½α α§αααααααααααααα αααααα αααΎαααααΌαααΆααααααααα αααα»αααααααΈαα·α Kubernetes αααααααΆα α αΎαααααΆααα αΆααααΆαα α ααΌαααααααΆααα’ααααααααααΎαααα
αααααααΆααααααΎαααΈαα½ααααααΌαααΆααααα½αααααΆαααααα’ααα αααααα
ααΆαααααΎααααΆαααααααα·ααΈααααααααα αααΎααααα»α
webhooks αααααΆααααΆαααααααααΆαα αΌαααααΎ ααΎααααΈβααααΆααβα αΆααβααΆαβα α βααΌααααα αα·αβαααααΎαβααβα’ααβα ααβαααααα
ααααααΎαααααααΆαααααααααααααΆααα½ααααααααα ααααααααΆααααΈααΆααααααααα·αα αααααααΆααααΌα ααΆααααααα α α·αααααΆααααααΌαααΆαααααΎα‘αΎαα
ααΆα α»αααααα ααααααΌαααΆααααααΌααα α αααααααααα α
ααΆαααααα α’αααααΆαααααααααααααα·αααααΎα’αααΈααα ααααΆαααααααααααααααααα
α’αααααααααααααΊααΆα’ααααα·αα αΆαααΆα ααααααααααΆαααααΈααΎααααΈαααα αΌαααααΆααΌαααΆααααααααααααααααα
ααααΆαααΈαα½ααααααααααΎαααααΊααααααααα½αααΆααααα αααααααααααααααα·αααα»αααΆααααα αΌαααααΆα
αααβααΆβααΆαβα αΆααβα’αΆαααααα αααααβααααΆααβαααβα’αααβααΆαβααααΏαβααααααααααβα ααα αΆαβααΌααΆααβαααααβααΆβα αααΎα α αΎαβα’αααβαα·αβααΆαβαααβαααααΆααβααα ααααααΆαααΆααααα αααααΊαα·αααΆααααα»ααααααΆαααΆαα αααααα’αααΈααα ααΈαααααΉαααα’ααααΎαααααααα
ααα»αααααααααααααα’αααααΉααααααΌααααα»αααααΆααΆαααΆααααααααααααααΆααααααΆαα ααα αΆαααΆαα αααΎα α’αααααααααααα αααΎααααα»ααααααααααααΆαααΆαααΌαα ααααααααα α αΎααααα ααααΆααααΆααααααΆααααΆαααΆαααΆααΆα αα
ααΆαα·αααΆαααααααΆααααααΌααααααααααΆααααααα·ααααααααα
ααααααΆαααααααα’αααΈ multi-cluster-scheduler α’αΆα
ααααΆααα
ααααα·αααΎα’αααα
ααα’αΆαα’αααΈ multi-cluster-scheduler αα
αααα»ααααααααΆα Admiralty ααΆα
α§ααααα αα·ααααααααααΆααααααα
ααΆαααααΆαα αα·ααααααααααα αααααα αααΎαααΊααΆαα·α αα ααΆααααααα»αααααΆα α αΎααα·αααΆααααααααααΆαααΆαααααα
ααααα·αααΎα’αααα ααααααααααα’αααΈαααααΆααααααααααααααα ααΆαααααααααααΆααααΆααα½αα ααα½αα
ααΆααΆαα»αααΉαααα Rancher ααΊααΆα§ααααααααααααΆαααααααΆααααα½αααΎααααΆααα ααααα Kubernetes ααααααααααΆα- αααααααααΆαααααααΆαααααα
ααααΎααααΆαα
Unimatrix αα½ααααα αΌαααααΆααΆαα½α Spinnaker ααΎααααΈαααα αααΆαααΆαααααααΆααα ααΌααΆααα αααααααΆα αααΎαα . - ααΆαααααααααΎ IPV6 αα·α
αααααΆααααα½ααα αααα»ααααααααΆα αααΎαα . - α§ααΆα αααα’αααα’αΆα
ααααΎααααΆααααααΆαααα
Istio αααααΆααααααΆααα αααααα αααΎαα . - Cilium αααααΆαααααα·ααΈαααα½αα
ααα»α
αααααΆαααααααΆααα»αααΊααα αααααααΌα
αα»αααΆαααααΆααα ααααα αααα’αα»ααααΆαα±ααα’ααααααα αΌαααααΆααΌαα αααααααΆα αααΎαα
αααα αΎαααΆααΆααα’αααααααΆααααααααα
α’ααα»ααααααΆααααΆαα’αΆααααα αα!
ααααα·αααΎα’αααααΉαααΈααααααααΆααα
αααααα
αααΎαα±ααααΆααααααΆαααααα·αααααΆαα
ααΎαααΉααααααααα·ααΈααΆαααααααααα’ααααα αααααααΆααα
ααΌαα’ααα»αααΆαα·αααααα Chris Nesbitt-Smith (
ααααα: www.habr.com