摘要:本教程適用范圍本教程適用范圍在上使用服務(wù)部署,并通過訪問集群計(jì)算節(jié)點(diǎn)采用托管,并使用啟動(dòng)模板。到此,完成集群的搭建,部署,部署,并實(shí)現(xiàn)了外網(wǎng)訪問。
# install kubectlwget https://dl.k8s.io/release/v1.22.0/bin/linux/amd64/kubectlchmod 755 kubectlmv kubectl /usr/bin# install awsclipip3 install awscli# install eksctlwget https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gztar -xvf eksctl_Linux_amd64.tar.gzchmod 755 eksctlmv eksctl /usr/bin
輸入如下表示安裝完成
aws eks create-cluster / --region us-west-2 / --name zhenglisai / --kubernetes-version 1.21 / --role-arn arn:aws:iam::你的賬號(hào)ID:role/eks-cluster / --resources-vpc-config subnetIds=subnet-cf36ca92,subnet-75866b0d,subnet-19ef9b32,securityGroupIds=sg-0daa7eabdc1f845fd
從控制臺(tái)可以看到集群創(chuàng)建中
查看集群狀態(tài)
在控制臺(tái)EC2中創(chuàng)建啟動(dòng)模板,使用鏡像AMI:ami-0cb182e3037115aa0,根據(jù)自己需要選擇實(shí)例類型,安全組,服務(wù)器密鑰對(duì),啟動(dòng)模板中不要設(shè)置網(wǎng)絡(luò)接口和IAM 實(shí)例配置文件,最重要的一步是在啟動(dòng)模板最后的用戶數(shù)據(jù)中填寫:
腳本后參數(shù)為EKS集群名
aws eks create-nodegroup / --cluster-name zhenglisai / --nodegroup-name zls-node / --scaling-config minSize=1,maxSize=3,desiredSize=2 / --subnets subnet-cf36ca92 subnet-75866b0d subnet-19ef9b32 / --node-role arn:aws:iam::你的賬號(hào)ID:role/eks-demo / --launch-template version=4,id=lt-020949e5e604df89c
# --name 后為集群名aws eks --region us-west-2 update-kubeconfig --name zhenglisai
配置完成后,訪問EKS集群
表示完成配置,可以訪問集群了。
可以看到,有兩個(gè)pod沒有起來,我們看一下為什么沒有起來
執(zhí)行
kubectl get pods coredns-85d5b4454c-rkccb --namespace kube-system --output yaml
看輸出是沒有可用的計(jì)算節(jié)點(diǎn),說明我們上一步創(chuàng)建的計(jì)算節(jié)點(diǎn)還沒運(yùn)行起來,查看可用節(jié)點(diǎn),確實(shí)沒有
等大約兩分鐘以后,再次執(zhí)行,可以看到實(shí)例已經(jīng)注冊(cè)到集群了
再次查看pod狀態(tài),都已經(jīng)運(yùn)行起來了。
這個(gè)東西主要用于集群的彈性擴(kuò)容指標(biāo)和dashboard指標(biāo),不是用于監(jiān)控資源!
執(zhí)行部署
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
輸出
驗(yàn)證部署是否成功
執(zhí)行
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
創(chuàng)建一個(gè)名為eks-admin.yaml的文件,內(nèi)容為
apiVersion: v1kind: ServiceAccountmetadata: name: eks-admin namespace: kube-system---apiVersion: rbac.authorization.k8s.io/v1beta1kind: ClusterRoleBindingmetadata: name: eks-adminroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-adminsubjects:- kind: ServiceAccount name: eks-admin namespace: kube-system
執(zhí)行此文件
kubectl apply -f eks-admin.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk {print $1})
到此為止,已完成集群的搭建和Dashboard的部署,但是此時(shí)只能在集群內(nèi)部訪問Dashboard,無法通過外網(wǎng)訪問。下一步將Dashboard接口暴露給ALB
wget https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.2.0/docs/install/iam_policy.json
aws iam create-policy / --policy-name AWSLoadBalancerControllerIAMPolicy / --policy-document file://iam_policy.json
eksctl utils associate-iam-oidc-provider --cluster zhenglisai --approve
eksctl create iamserviceaccount / --cluster=zhenglisai / --namespace=kube-system / --name=aws-load-balancer-controller / --attach-policy-arn=arn:aws:iam::你的賬號(hào)ID:policy/AWSLoadBalancerControllerIAMPolicy / --override-existing-serviceaccounts / --approve
kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller/crds?ref=master"helm repo add eks https://aws.github.io/eks-chartshelm repo updatehelm upgrade -i aws-load-balancer-controller eks/aws-load-balancer-controller / --set clusterName=zhenglisai / --set serviceAccount.create=false / --set serviceAccount.name=aws-load-balancer-controller / -n kube-system
驗(yàn)證安裝是否完成
創(chuàng)建部署文件,dashboard-ingress.yaml,內(nèi)容如下(需要修改漢字部分內(nèi)容):
---apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: namespace: kubernetes-dashboard name: ingress-dashboard annotations: alb.ingress.kubernetes.io/load-balancer-name: zhenglisai alb.ingress.kubernetes.io/backend-protocol: HTTPS kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/listen-ports: [{"HTTPS":443}] alb.ingress.kubernetes.io/certificate-arn: 你證書的ARN,在ACM中查看spec: rules: - host: 你的域名 http: paths: - path: /* backend: serviceName: kubernetes-dashboard servicePort: 443
執(zhí)行文件,創(chuàng)建ingress
kubectl apply -f dashboard-ingress.yaml
使用https協(xié)議訪問域名
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/125371.html
摘要:正在美國拉斯維加斯舉行的大會(huì)上,亞馬遜新發(fā)布的一系列計(jì)算及存儲(chǔ)相關(guān)的功能中,最轟動(dòng)容器領(lǐng)域,無非是一種無需管理服務(wù)器即可運(yùn)行容器的服務(wù),以及,一個(gè)完全托管的服務(wù)。的發(fā)布,意味著國際范圍內(nèi)三大最主要的云服務(wù)商和,已全部提供托管的服務(wù)。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會(huì)上,亞馬遜新發(fā)布的一系列計(jì)算及存儲(chǔ)相關(guān)的功能中,最轟動(dòng)容器領(lǐng)域,無非是AWS Fargat...
摘要:正在美國拉斯維加斯舉行的大會(huì)上,亞馬遜新發(fā)布的一系列計(jì)算及存儲(chǔ)相關(guān)的功能中,最轟動(dòng)容器領(lǐng)域,無非是一種無需管理服務(wù)器即可運(yùn)行容器的服務(wù),以及,一個(gè)完全托管的服務(wù)。的發(fā)布,意味著國際范圍內(nèi)三大最主要的云服務(wù)商和,已全部提供托管的服務(wù)。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會(huì)上,亞馬遜新發(fā)布的一系列計(jì)算及存儲(chǔ)相關(guān)的功能中,最轟動(dòng)容器領(lǐng)域,無非是AWS Fargat...
摘要:現(xiàn)在,越來越多的開發(fā)人員不再使用傳統(tǒng)的應(yīng)用程序服務(wù)器,而是開始使用作為分布式應(yīng)用程序平臺(tái)開發(fā)人員使用作為后端數(shù)據(jù)庫。而我們已注意到,將諸如之類的輕量級(jí)安裝程序嵌入到分布式應(yīng)用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現(xiàn)已正式全面發(fā)布!這是Rancher Labs推出的新的開源項(xiàng)目,一個(gè)極致...
摘要:現(xiàn)在,越來越多的開發(fā)人員不再使用傳統(tǒng)的應(yīng)用程序服務(wù)器,而是開始使用作為分布式應(yīng)用程序平臺(tái)開發(fā)人員使用作為后端數(shù)據(jù)庫。而我們已注意到,將諸如之類的輕量級(jí)安裝程序嵌入到分布式應(yīng)用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現(xiàn)已正式全面發(fā)布!這是Rancher Labs推出的新的開源項(xiàng)目,一個(gè)極致...
摘要:但是可惜的是,當(dāng)中的塊存儲(chǔ)并不支持這樣的方式。都是監(jiān)聽指定資源,然后分別對(duì)和和三種事件,做出處理。部署具體部署的如下注意,加入集群中不存在角色,可以自行進(jìn)行授權(quán)。例如創(chuàng)建成果以后,去的查看如下 前言 在使用aws的托管k8s--eks過程中,避免不了使用aws的LB和塊存儲(chǔ)。AWS公有云所有的資源都可以自定義tags,這樣的好處就是可以根據(jù)tag具體含義來對(duì)資源進(jìn)行不同維度的審計(jì)和統(tǒng)計(jì)...
閱讀 769·2023-04-25 19:43
閱讀 4022·2021-11-30 14:52
閱讀 3855·2021-11-30 14:52
閱讀 3909·2021-11-29 11:00
閱讀 3838·2021-11-29 11:00
閱讀 3949·2021-11-29 11:00
閱讀 3613·2021-11-29 11:00
閱讀 6310·2021-11-29 11:00