verifying,verifone

  

  每周一、三、五,陪你!   

  

  在Dockercon的第二天,Docker在Kubernetes项目上开放了source Compose。这个工具无疑可以简化Kubernetes。如果你不知道,Docker企业版在Compose File版本中已经启用了这个功能。它允许您使用相同的docker-compose.yml文件进行Swarm部署,您还可以在部署应用程序堆栈时指定Kubernetes工作负载。   

  

     

  

  两周前,我注意到社区中有人要求在Kubernetes操场上的Kubernetes上运行Compose。出于兴趣,我开始研究如何简化解决方案,以便任何人都可以在短时间内轻松设置。我创建了镜像存储库,并开始构建一个简单的脚本和Makefile来启动它并在PWK上运行它。点击以下文章标题查看详情:   

  

  Kubernetes实战教学,教你如何在K8s平台上使用Compose1Kubernetes实战教学,教你如何在K8s平台上使用Compose2   

  

  在这篇博文中,我将向您展示如何使用2个脚本在Kubernetes平台上启用Compose on。接下来,我们开始吧!   

  

  首先,浏览https://labs.play-with-k8s.com/和参观Kubernetes游乐场。   

  

     

  

  点击“登录”按钮,使用Docker Hub或GitHub ID进行身份验证。   

  

     

  

  一旦开始会话,您将拥有自己的实验室环境。   

  

  添加第一个Kubernetes节点。   

  

  单击左边的“添加新实例”来构建您的第一个Kubernetes集群节点。它会自动将其命名为“节点1”。每个实例中预装了Docker Community Edition(CE)和Kubeadm。该节点将被视为我们集群的主节点。   

  

     

  

  主网点   

  

  克隆存储库,并在第一个实例上运行此脚本:   

  

  git clone https://github.com/collabnix/compose-on-kubernetescd compose-on-kubernetes/scripts/pwk/shbootstrap-pwk . sh当你执行这个脚本时,作为初始化的一部分,Kubeadm会编写几个需要的配置文件,设置RBAC,部署Kubernetes控制平面组件(如kube-apiserver、kube-dns、kube-proxy和etcd等。).控制平面组件被部署为Docker容器。   

  

     

  

  复制上面的kubeadm连接令牌命令,并保存它以供下一步使用。此命令将用于将其他节点加入群集。   

  

  添加工作节点   

  

  单击“添加新节点”添加新的工作节点。   

  

  检查集群状态。   

  

  $ kubectl获取节点名称状态角色年龄版本节点1就绪主节点18m v 1 . 11 . 3节点2就绪4m v 1 . 11 . 3节点3就绪39s v 1 . 11 . 3节点4未就绪22s v 1 . 11 . 3节点5未就绪4s v1.11.3   

  

  $ kubectl获取找到的poNo资源。   

  

  $ kubectl get svcNAME类型CLUSTER-IP EXTERNAL-IP PORT AG   

Ekubernetes ClusterIP 10.96.0.1 443/TCP 1h

  

执行以下脚本,一次性设置好 Compose Namespace、etcd cluster 和 Compose controller:

  

chmod +x prepare-pwk.shsh prepare-pwk.sh$ sh prepare-pwk.shCreating Compose Namespace...namespace/compose createdInstalling Helm... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 21.6M 100 21.6M 0 0 25.3M 0 --:--:-- --:--:-- --:--:-- 25.4MPreparing Helmlinux-amd64/linux-amd64/tillerlinux-amd64/helmlinux-amd64/LICENSElinux-amd64/README.mdCreating tiller under kube-system namespace...serviceaccount/tiller createdclusterrolebinding.rbac.authorization.k8s.io/tiller-cluster-rule createdCreating /root/.helmCreating /root/.helm/repositoryCreating /root/.helm/repository/cacheCreating /root/.helm/repository/localCreating /root/.helm/pluginsCreating /root/.helm/startersCreating /root/.helm/cache/archiveCreating /root/.helm/repository/repositories.yamlAdding stable repo with URL: https://kubernetes-charts.storage.googleapis.comAdding local repo with URL: http://127.0.0.1:8879/charts$HELM_HOME has been configured at /root/.helm. Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster. Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.To prevent this, run `helm init` with the --tiller-tls-verify flag.For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installationHappy Helming! Tiller is still coming up...Please WaitNAME READY STATUS RESTARTS AGEcoredns-78fcdf6894-699fx 1/1 Running 0 5mcoredns-78fcdf6894-trslx 1/1 Running 0 5metcd-node1 1/1 Running 0 4mkube-apiserver-node1 1/1 Running 0 4mkube-controller-manager-node1 1/1 Running 0 4mkube-proxy-5gskp 1/1 Running 0 4mkube-proxy-5hbkb 1/1 Running 0 5mkube-proxy-lcsnz 1/1 Running 0 4mkube-scheduler-node1 1/1 Running 0 4mtiller-deploy-85744d9bfb-bjw2f 0/1 Running 0 15sweave-net-9vt2s 2/2 Running 1 4mweave-net-k87d7 2/2 Running 0 5mweave-net-nmmt5 2/2 Running 0 4mNAME: etcd-operatorLAST DEPLOYED: Mon Jan 21 14:27:50 2019NAMESPACE: composeSTATUS: DEPLOYED RESOURCES:==> v1/ServiceAccountNAME SECRETS AGEetcd-operator-etcd-operator-etcd-backup-operator 1 4setcd-operator-etcd-operator-etcd-operator 1 4setcd-operator-etcd-operator-etcd-restore-operator 1 4s ==> v1beta1/ClusterRoleNAME AGEetcd-operator-etcd-operator-etcd-operator 4s ==> v1beta1/ClusterRoleBindingNAME AGEetcd-operator-etcd-operator-etcd-backup-operator 4setcd-operator-etcd-operator-etcd-operator 3setcd-operator-etcd-operator-etcd-restore-operator 3s ==> v1/ServiceNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEetcd-restore-operator ClusterIP 10.108.89.92 19999/TCP 3s ==> v1beta2/DeploymentNAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGEetcd-operator-etcd-operator-etcd-backup-operator 1 1 1 0 3setcd-operator-etcd-operator-etcd-operator 1 1 1 0 3setcd-operator-etcd-operator-etcd-restore-operator 1 1 1 0 3s ==> v1/Pod(related)NAME READY STATUS RESTARTS AGEetcd-operator-etcd-operator-etcd-backup-operator-56fd448cd897mk 0/1 ContainerCreating 0 2setcd-operator-etcd-operator-etcd-operator-c5b8b8f74-pttr2 0/1 ContainerCreating 0 2setcd-operator-etcd-operator-etcd-restore-operator-58587cdc9g4br 0/1 ContainerCreating 0 2s NOTES:1. etcd-operator deployed. If you would like to deploy an etcd-cluster set cluster.enabled to true in values.yaml Check the etcd-operator logs export POD=$(kubectl get pods -l app=etcd-operator-etcd-operator-etcd-operator --namespacecompose --output name) kubectl logs $POD --namespace=composeLoaded plugins: fastestmirror, ovlbase | 3.6 kB 00:00:00docker-ce-stable | 3.5 kB 00:00:00extras | 3.4 kB 00:00:00kubernetes/signature | 454 B 00:00:00kubernetes/signature | 1.4 kB 00:00:10 !!!updates | 3.4 kB 00:00:00(1/7): base/7/x86_64/group_gz | 166 kB 00:00:00(2/7): extras/7/x86_64/primary_db | 156 kB 00:00:00(3/7): base/7/x86_64/primary_db | 6.0 MB 00:00:00(4/7): updates/7/x86_64/primary_db | 1.3 MB 00:00:00(5/7): docker-ce-stable/x86_64/primary_db | 20 kB 00:00:00(6/7): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:01(7/7): kubernetes/primary | 42 kB 00:00:01Determining fastest mirrors * base: mirror.nl.datapacket.com * extras: mirror.nl.datapacket.com * updates: mirror.denit.netkubernetes 305/305Resolving Dependencies--> Running transaction check---> Package wget.x86_64 0:1.14-18.el7 will be installed--> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size===============================================================================================Installing: wget x86_64 1.14-18.el7 base 547 k Transaction Summary===============================================================================================Install 1 Package Total download size: 547 kInstalled size: 2.0 MDownloading packages:wget-1.14-18.el7.x86_64.rpm | 547 kB 00:00:00Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : wget-1.14-18.el7.x86_64 1/1install-info: No such file or directory for /usr/share/info/wget.info.gz Verifying : wget-1.14-18.el7.x86_64 1/1 Installed: wget.x86_64 0:1.14-18.el7 Complete!$HELM_HOME has been configured at /root/.helm. Tiller (the Helm server-side component) has been upgraded to the current version.Happy Helming!etcdcluster.etcd.database.coreos.com/compose-etcd createdNAME READY STATUS RESTARTS AGEcoredns-78fcdf6894-699fx 1/1 Running 0 6mcoredns-78fcdf6894-trslx 1/1 Running 0 6metcd-node1 1/1 Running 0 5mkube-apiserver-node1 1/1 Running 0 6mkube-controller-manager-node1 1/1 Running 0 5mkube-proxy-5gskp 1/1 Running 0 6mkube-proxy-5hbkb 1/1 Running 0 6mkube-proxy-lcsnz 1/1 Running 0 5mkube-scheduler-node1 1/1 Running 0 5mtiller-deploy-85744d9bfb-bjw2f 1/1 Running 0 1mweave-net-9vt2s 2/2 Running 1 6mweave-net-k87d7 2/2 Running 0 6mweave-net-nmmt5 2/2 Running 0 5m--2019-01-21 14:28:49-- https://github.com/docker/compose-on-kubernetes/releases/download/v0.4.18/installer-linuxResolving github.com (github.com)... 140.82.118.3, 140.82.118.4Connecting to github.com (github.com)|140.82.118.3|:443... connected.HTTP request sent, awaiting response... 302 FoundLocation: https://github-production-release-asset-2e65be.s3.amazonaws.com/158560458/e9a86500-15b2-11e9-8620-1eec5bf160e3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190121T142850Z&X-Amz-Expires=300&X-Amz-Signature=bd4020beb0f68210e2a3cfa8ca8166dddcf1d1e4868737eb9ad83363cd39c660&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dinstaller-linux&response-content-type=application%2Foctet-stream --2019-01-21 14:28:50-- https://github-production-release-asset-2e65be.s3.amazonaws.com/158560458/e9a86500-15b2-11e9-8620-1eec5bf160e3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190121T142850Z&X-Amz-Expires=300&X-Amz-Signature=bd4020beb0f68210e2a3cfa8ca8166dddcf1d1e4868737eb9ad83363cd39c660&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dinstaller-linux&response-content-type=application%2Foctet-streamResolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.161.163Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.161.163|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 28376064 (27M) Saving to: 'installer-linux' 100%<=====================================================>> 28,376,064 15.9MB/s in 1.7s 2019-01-21 14:28:52 (15.9 MB/s) - 'installer-linux' saved <28376064/28376064> INFO<0000> Checking installation stateINFO<0000> Install image with tag "v0.4.18" in namespace "compose"INFO<0000> Api server: image: "docker/kube-compose-api-server:v0.4.18", pullPolicy: "Always"INFO<0001> Controller: image: "docker/kube-compose-controller:v0.4.18", pullPolicy: "Always"failed to find a Stack API versionerror: the server doesn't have a resource type "stacks"$ sh prepare-pwk.shCreating Compose Namespace...Installing Helm... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 21.6M 100 21.6M 0 0 14.9M 0 0:00:01 0:00:01 --:--:-- 14.9MPreparing Helmlinux-amd64/linux-amd64/tillerlinux-amd64/helmlinux-amd64/LICENSElinux-amd64/README.mdCreating tiller under kube-system namespace...clusterrolebindings.rbac.authorization.k8s.io "tiller-cluster-rule" already exists$HELM_HOME has been configured at /root/.helm. Tiller (the Helm server-side component) has been upgraded to the current version.Happy Helming! Tiller is still coming up...Please WaitNAME READY STATUS RESTARTS AGEcoredns-78fcdf6894-699fx 1/1 Running 0 7mcoredns-78fcdf6894-trslx 1/1 Running 0 7metcd-node1 1/1 Running 0 6mkube-apiserver-node1 1/1 Running 0 6mkube-controller-manager-node1 1/1 Running 0 6mkube-proxy-5gskp 1/1 Running 0 6mkube-proxy-5hbkb 1/1 Running 0 7mkube-proxy-lcsnz 1/1 Running 0 6mkube-scheduler-node1 1/1 Running 0 6mtiller-deploy-85744d9bfb-bjw2f 1/1 Running 0 2mweave-net-9vt2s 2/2 Running 1 6mweave-net-k87d7 2/2 Running 0 7mweave-net-nmmt5 2/2 Running 0 6mNAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACEetcd-operator 1 Mon Jan 21 14:27:50 2019 DEPLOYED etcd-operator-0.8.3 0.9.3 composeRun: helm ls --all etcd-operator; to check the status of the releaseOr run: helm del --purge etcd-operator; to delete itLoaded plugins: fastestmirror, ovlLoading mirror speeds from cached hostfile * base: mirror.nl.datapacket.com * extras: mirror.nl.datapacket.com * updates: mirror.denit.netPackage wget-1.14-18.el7.x86_64 already installed and latest versionNothing to do$HELM_HOME has been configured at /root/.helm. Tiller (the Helm server-side component) has been upgraded to the current version.Happy Helming!etcdcluster.etcd.database.coreos.com/compose-etcd unchangedNAME READY STATUS RESTARTS AGEcoredns-78fcdf6894-699fx 1/1 Running 0 7mcoredns-78fcdf6894-trslx 1/1 Running 0 7metcd-node1 1/1 Running 0 6mkube-apiserver-node1 1/1 Running 0 7mkube-controller-manager-node1 1/1 Running 0 7mkube-proxy-5gskp 1/1 Running 0 7mkube-proxy-5hbkb 1/1 Running 0 7mkube-proxy-lcsnz 1/1 Running 0 6mkube-scheduler-node1 1/1 Running 0 6mtiller-deploy-85744d9bfb-bjw2f 1/1 Running 0 2mweave-net-9vt2s 2/2 Running 1 7mweave-net-k87d7 2/2 Running 0 7mweave-net-nmmt5 2/2 Running 0 6m--2019-01-21 14:30:05-- https://github.com/docker/compose-on-kubernetes/releases/download/v0.4.18/installer-linuxResolving github.com (github.com)... 140.82.118.3, 140.82.118.4Connecting to github.com (github.com)|140.82.118.3|:443... connected.HTTP request sent, awaiting response... 302 FoundLocation: https://github-production-release-asset-2e65be.s3.amazonaws.com/158560458/e9a86500-15b2-11e9-8620-1eec5bf160e3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190121T143006Z&X-Amz-Expires=300&X-Amz-Signature=53d5f390f91b968a53219512c18b696e1a085cbbd59cdb953ca95bea1aca4d60&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dinstaller-linux&response-content-type=application%2Foctet-stream --2019-01-21 14:30:06-- https://github-production-release-asset-2e65be.s3.amazonaws.com/158560458/e9a86500-15b2-11e9-8620-1eec5bf160e3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190121T143006Z&X-Amz-Expires=300&X-Amz-Signature=53d5f390f91b968a53219512c18b696e1a085cbbd59cdb953ca95bea1aca4d60&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dinstaller-linux&response-content-type=application%2Foctet-streamResolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.233.59Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.233.59|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 28376064 (27M) Saving to: 'installer-linux.1' 100%<=====================================================>> 28,376,064 16.3MB/s in 1.7s 2019-01-21 14:30:08 (16.3 MB/s) - 'installer-linux.1' saved <28376064/28376064> INFO<0000> Checking installation stateINFO<0001> Compose version v0.4.18 is already installed in namespace "compose" with the same settingscompose.docker.com/v1beta1compose.docker.com/v1beta2Waiting for the stack to be stable and running...db1: Pending web1: Pending db1: Ready web1: Ready Stack hellostack is stable and running NAME SERVICES PORTS STATUS CREATED AThellostack 2 web1: 8082 Progressing (Stack is starting) 2019-01-21T14:30:10Z验证 Stack$ kubectl get stackNAME SERVICES PORTS STATUS CREATED AThellostack 2 web1: 8082 Available (Stack is started) 2019-01-21T14:30:10Z

相关文章