 Go Programming Pattern in Kubernetes Philosophyimage: nginx:1.7.9 ports: - containerPort: 80 • kubectl create -f deployment.yaml • kubectl create -f hpa.yaml apiVersion: autoscaling/v2alpha1 kind: HorizontalPodAutoscaler metadata: into k8s API • I want a controller to handle add/update/delete of all Network instances • onAdd: create Neutron network • onDelete: delete Neutron network • onUpdate: update Network object status com/openstack/stackube/blob/master/pkg/network- controller/network_controller.go Pattern 2: Gode Generator • client-gen: generate typed Kubernetes AP client for type • client.Pod.Get().Resource(…).Do()0 码力 | 29 页 | 2.12 MB | 1 年前3 Go Programming Pattern in Kubernetes Philosophyimage: nginx:1.7.9 ports: - containerPort: 80 • kubectl create -f deployment.yaml • kubectl create -f hpa.yaml apiVersion: autoscaling/v2alpha1 kind: HorizontalPodAutoscaler metadata: into k8s API • I want a controller to handle add/update/delete of all Network instances • onAdd: create Neutron network • onDelete: delete Neutron network • onUpdate: update Network object status com/openstack/stackube/blob/master/pkg/network- controller/network_controller.go Pattern 2: Gode Generator • client-gen: generate typed Kubernetes AP client for type • client.Pod.Get().Resource(…).Do()0 码力 | 29 页 | 2.12 MB | 1 年前3
 K8S安装部署开放服务F. 部署 k8s node 节点 Step1: k8s master 上查看/创建 token、生成证书摘要 kubeadm token list kubeadmin token create --ttl 0 kubeadm token list openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -keyout tls.key -out tls.crt -subj "/CN=k8s-dashboard.xxx.com" //生成 SSL 证书的 secret kubectl create secret tls k8s-dashboard-tls --cert=tls.crt --key=tls.key Step6: 重新配置 service vi service.yaml -keyout tls.key -out tls.crt -subj "/CN=k8s-dashboard.xxx.com" //生成 SSL 证书的 secret kubectl create secret tls k8s-dashboard-tls --cert=tls.crt --key=tls.key Step8: ingressroute vi dashboard-tls0 码力 | 54 页 | 1.23 MB | 1 年前3 K8S安装部署开放服务F. 部署 k8s node 节点 Step1: k8s master 上查看/创建 token、生成证书摘要 kubeadm token list kubeadmin token create --ttl 0 kubeadm token list openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -keyout tls.key -out tls.crt -subj "/CN=k8s-dashboard.xxx.com" //生成 SSL 证书的 secret kubectl create secret tls k8s-dashboard-tls --cert=tls.crt --key=tls.key Step6: 重新配置 service vi service.yaml -keyout tls.key -out tls.crt -subj "/CN=k8s-dashboard.xxx.com" //生成 SSL 证书的 secret kubectl create secret tls k8s-dashboard-tls --cert=tls.crt --key=tls.key Step8: ingressroute vi dashboard-tls0 码力 | 54 页 | 1.23 MB | 1 年前3
 Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践the Operand in the status section of the CR Lifecycle features • Operator provides the ability to create backups of the Operand • Operator is able to restore a backup of an Operand • Operator orchestrates 在做任何读(get、list)操作时,不能假设读到 的是最新版本,也不能假设一次 reconcile 中始 终会读到同一个版本 避免写后读 同一个 controller,在一次 reconcile 中,避免写 (create、update、delete)完一个对象后马上去 读(get、list)最新版本,等controller-runtime 触发下一次 reconcile 遵循惯例开发模式 即 controller Cache\Planned Action Create Update Delete latest ✅ ✅ ✅ stale c-lag -- ❌ ❌ u-lag -- ✅ ✅ d-lag ❌ -- -- 问题抽象 本地 cache 中的对象有两种可能,即及时(latest)与过 期(stale),我们生成的执行计划有3种可能的动作,即 Create、Update 和 Delete。 进一步的,stale0 码力 | 21 页 | 3.06 MB | 9 月前3 Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践the Operand in the status section of the CR Lifecycle features • Operator provides the ability to create backups of the Operand • Operator is able to restore a backup of an Operand • Operator orchestrates 在做任何读(get、list)操作时,不能假设读到 的是最新版本,也不能假设一次 reconcile 中始 终会读到同一个版本 避免写后读 同一个 controller,在一次 reconcile 中,避免写 (create、update、delete)完一个对象后马上去 读(get、list)最新版本,等controller-runtime 触发下一次 reconcile 遵循惯例开发模式 即 controller Cache\Planned Action Create Update Delete latest ✅ ✅ ✅ stale c-lag -- ❌ ❌ u-lag -- ✅ ✅ d-lag ❌ -- -- 问题抽象 本地 cache 中的对象有两种可能,即及时(latest)与过 期(stale),我们生成的执行计划有3种可能的动作,即 Create、Update 和 Delete。 进一步的,stale0 码力 | 21 页 | 3.06 MB | 9 月前3
 QCon北京2018/QCon北京2018-《Kubernetes-+面向未来的开发和部署》-Michael+ChenKubernetes Orchestrating Multiple Containers • Core docker functionality provides the tooling to create and run single containers – Very manual, no fault tolerance, hard to scale, etc • Scheduling run container1 $docker run container2 $docker run container3 $docker run container4 $kubectl create –f App.yaml The “App” Wanted: Container Orchestrator! Kubernetes in 5 min https://youtu.be/PH-2FfFD2PU instance of a Pod which is not replicated or scaled 19 Developers Admin Kubernetes & PKS $kubectl create –f App.yaml The “App” Kubernetes Cluster Deploys and Operates the Kubernetes Clusters Desired0 码力 | 42 页 | 10.97 MB | 1 年前3 QCon北京2018/QCon北京2018-《Kubernetes-+面向未来的开发和部署》-Michael+ChenKubernetes Orchestrating Multiple Containers • Core docker functionality provides the tooling to create and run single containers – Very manual, no fault tolerance, hard to scale, etc • Scheduling run container1 $docker run container2 $docker run container3 $docker run container4 $kubectl create –f App.yaml The “App” Wanted: Container Orchestrator! Kubernetes in 5 min https://youtu.be/PH-2FfFD2PU instance of a Pod which is not replicated or scaled 19 Developers Admin Kubernetes & PKS $kubectl create –f App.yaml The “App” Kubernetes Cluster Deploys and Operates the Kubernetes Clusters Desired0 码力 | 42 页 | 10.97 MB | 1 年前3
 Kubernetes开源书 -  周立containerPort: 80 使⽤该 .yaml ⽂件创建Deployment的⼀种⽅法是在 kubectl 命令⾏界⾯中使⽤ kubectl create 命令,将 .yaml ⽂件 作为参数传递。 例如: $ kubectl create -f docs/user-guide/nginx-deployment.yaml --record 将会输出类似如下的内容: deployment 80 将此清单保存为 frontend.yaml ,并将其提交给Kubernetes集群,即可创建你所定义的ReplicaSet以及ReplicaSet管理 的Pod。 $ kubectl create -f frontend.yaml replicaset "frontend" created $ kubectl describe rs/frontend Name: frontend 将此清单保存为 hpa-rs.yaml 并将其提交到Kubernetes集群,这样就会创建⼀个HPA,根据Pod副本的CPU使⽤率⾃动 调整⽬标ReplicaSet。 kubectl create -f hpa-rs.yaml 或者,您可以使⽤ kubectl autoscale 命令来完成相同的操作(并且更容易!) kubectl autoscale rs frontend ReplicaSet的替代⽅案0 码力 | 135 页 | 21.02 MB | 1 年前3 Kubernetes开源书 -  周立containerPort: 80 使⽤该 .yaml ⽂件创建Deployment的⼀种⽅法是在 kubectl 命令⾏界⾯中使⽤ kubectl create 命令,将 .yaml ⽂件 作为参数传递。 例如: $ kubectl create -f docs/user-guide/nginx-deployment.yaml --record 将会输出类似如下的内容: deployment 80 将此清单保存为 frontend.yaml ,并将其提交给Kubernetes集群,即可创建你所定义的ReplicaSet以及ReplicaSet管理 的Pod。 $ kubectl create -f frontend.yaml replicaset "frontend" created $ kubectl describe rs/frontend Name: frontend 将此清单保存为 hpa-rs.yaml 并将其提交到Kubernetes集群,这样就会创建⼀个HPA,根据Pod副本的CPU使⽤率⾃动 调整⽬标ReplicaSet。 kubectl create -f hpa-rs.yaml 或者,您可以使⽤ kubectl autoscale 命令来完成相同的操作(并且更容易!) kubectl autoscale rs frontend ReplicaSet的替代⽅案0 码力 | 135 页 | 21.02 MB | 1 年前3
 ⾸云容器产品Kubernetes操作指南-it nginx-6b9966bb86-p6n82 sh 进⼊容器 72 可以看到容器内成功创建hello⽬录 创建 StorageClass 创建命令 1 $ kubectl create -f sc.yaml 2 $ kubectl get sc 3 NAME PROVISIONER AGE 4 wordpress-sc-001 10 vers: "4.0" 11 mode: "777" 12 reclaimPolicy: "Delete" 创建Namespace 创建命令 1 $ kubectl create -f wordpress-storageclass-pvc.yaml wordpress-storageclass-pvc.yaml 内容如下 案例--如何创建⼀个WordPress ⽅法⼀:nodePort storageClassName: wordpress-sc-001 创建⼀个Secret变量存放MySQL密码 2. 部署MySQL容器组 74 创建命令 1 $ kubectl create secret generic mysql-pass --from-literal=password= ⾸云容器产品Kubernetes操作指南-it nginx-6b9966bb86-p6n82 sh 进⼊容器 72 可以看到容器内成功创建hello⽬录 创建 StorageClass 创建命令 1 $ kubectl create -f sc.yaml 2 $ kubectl get sc 3 NAME PROVISIONER AGE 4 wordpress-sc-001 10 vers: "4.0" 11 mode: "777" 12 reclaimPolicy: "Delete" 创建Namespace 创建命令 1 $ kubectl create -f wordpress-storageclass-pvc.yaml wordpress-storageclass-pvc.yaml 内容如下 案例--如何创建⼀个WordPress ⽅法⼀:nodePort storageClassName: wordpress-sc-001 创建⼀个Secret变量存放MySQL密码 2. 部署MySQL容器组 74 创建命令 1 $ kubectl create secret generic mysql-pass --from-literal=password=- -n - 检查创建结果 1 $ kubectl 0 码力 | 94 页 | 9.98 MB | 1 年前3
 多租户Kubernetes VM Solutions for Multi-Tenant ApplicationsDocker Containerd Cri-o a.create pause container b.get container netns c.create net resources in netns a.create netns c.create pause container and app container b.create net resources in netns kubernetes kubernetes k8s + docker + kata create pod k8s + docker + runc create pod How ZTE Uses kata container in NFV ZTE OpenPalette kubernetes based PAAS kata container 1.3 How ZTE Use kata container in0 码力 | 33 页 | 3.34 MB | 1 年前3 多租户Kubernetes VM Solutions for Multi-Tenant ApplicationsDocker Containerd Cri-o a.create pause container b.get container netns c.create net resources in netns a.create netns c.create pause container and app container b.create net resources in netns kubernetes kubernetes k8s + docker + kata create pod k8s + docker + runc create pod How ZTE Uses kata container in NFV ZTE OpenPalette kubernetes based PAAS kata container 1.3 How ZTE Use kata container in0 码力 | 33 页 | 3.34 MB | 1 年前3
 k8s操作手册 2.3resources.yaml #创建控制器 Install the Tigera Calico operator and custom resource defini�ons # kubectl create -f �gera-operator.yaml #如果需要更改镜像,可编辑此 文件 # more �gera-operator.yaml | grep custom-resources.yaml #创建资源 Install Calico by crea�ng the necessary custom resource # kubectl create -f custom-resources.yaml #如果需要更改镜像,只能部署 后,只能更改相应的daemonset及deployment #查看calico generate #重新生成token,下面这一串 字符 ka8k02.9f2uowba7j21qv0g master1 结 点 # kubeadm token create ka8k02.9f2uowba7j21qv0g --print-join- command 再复制(kubeadm join xxxxx)命令到node结点上执行: node结点执行# kubeadm0 码力 | 126 页 | 4.33 MB | 1 年前3 k8s操作手册 2.3resources.yaml #创建控制器 Install the Tigera Calico operator and custom resource defini�ons # kubectl create -f �gera-operator.yaml #如果需要更改镜像,可编辑此 文件 # more �gera-operator.yaml | grep custom-resources.yaml #创建资源 Install Calico by crea�ng the necessary custom resource # kubectl create -f custom-resources.yaml #如果需要更改镜像,只能部署 后,只能更改相应的daemonset及deployment #查看calico generate #重新生成token,下面这一串 字符 ka8k02.9f2uowba7j21qv0g master1 结 点 # kubeadm token create ka8k02.9f2uowba7j21qv0g --print-join- command 再复制(kubeadm join xxxxx)命令到node结点上执行: node结点执行# kubeadm0 码力 | 126 页 | 4.33 MB | 1 年前3
 Using Kubernetes for handling second screen experience of european tv showDanish TV Show The task Danish televison broadcaster TV2 asked us ● To create an application which works on all devices ● To create an admin interface to run the show ● The application should be able Installation + Create AWS user + Make a CI host + wget and install kops and kubectl + Configure AWS cli + Create S3 Bucket + Export KOPS variables + Setup Route53 KOPS: Create cluster KOPS: Edit0 码力 | 28 页 | 3.86 MB | 1 年前3 Using Kubernetes for handling second screen experience of european tv showDanish TV Show The task Danish televison broadcaster TV2 asked us ● To create an application which works on all devices ● To create an admin interface to run the show ● The application should be able Installation + Create AWS user + Make a CI host + wget and install kops and kubectl + Configure AWS cli + Create S3 Bucket + Export KOPS variables + Setup Route53 KOPS: Create cluster KOPS: Edit0 码力 | 28 页 | 3.86 MB | 1 年前3
 全球架构师峰会2019北京/大数据/Kubernetes 运行大数据工作负载的探索和实践&mdashArchitecture 1. Kubectl creates a JobEx object in apiserver if all admission passed. 2. JobExController create Pods based on its replicas and templates. 3. vk-scheduler get the “notification” of Pod from apiserver uid: f26a81f3-10f8-11ea-938f-fa163eddd2ce Spec: containers: … Create podgroup Create driver pod Request create executor Create executor pods Spark submit with volcano Kubernetes cluster Scenario0 码力 | 25 页 | 3.84 MB | 1 年前3 全球架构师峰会2019北京/大数据/Kubernetes 运行大数据工作负载的探索和实践&mdashArchitecture 1. Kubectl creates a JobEx object in apiserver if all admission passed. 2. JobExController create Pods based on its replicas and templates. 3. vk-scheduler get the “notification” of Pod from apiserver uid: f26a81f3-10f8-11ea-938f-fa163eddd2ce Spec: containers: … Create podgroup Create driver pod Request create executor Create executor pods Spark submit with volcano Kubernetes cluster Scenario0 码力 | 25 页 | 3.84 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4














 
 