摘要:本教程適用范圍本教程適用范圍在上使用服務部署,并通過訪問集群計算節點采用托管,并使用啟動模板。到此,完成集群的搭建,部署,部署,并實現了外網訪問。
# 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::你的賬號ID:role/eks-cluster / --resources-vpc-config subnetIds=subnet-cf36ca92,subnet-75866b0d,subnet-19ef9b32,securityGroupIds=sg-0daa7eabdc1f845fd
從控制臺可以看到集群創建中
查看集群狀態
在控制臺EC2中創建啟動模板,使用鏡像AMI:ami-0cb182e3037115aa0,根據自己需要選擇實例類型,安全組,服務器密鑰對,啟動模板中不要設置網絡接口和IAM 實例配置文件,最重要的一步是在啟動模板最后的用戶數據中填寫:
腳本后參數為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::你的賬號ID:role/eks-demo / --launch-template version=4,id=lt-020949e5e604df89c
# --name 后為集群名aws eks --region us-west-2 update-kubeconfig --name zhenglisai
配置完成后,訪問EKS集群
表示完成配置,可以訪問集群了。
可以看到,有兩個pod沒有起來,我們看一下為什么沒有起來
執行
kubectl get pods coredns-85d5b4454c-rkccb --namespace kube-system --output yaml
看輸出是沒有可用的計算節點,說明我們上一步創建的計算節點還沒運行起來,查看可用節點,確實沒有
等大約兩分鐘以后,再次執行,可以看到實例已經注冊到集群了
再次查看pod狀態,都已經運行起來了。
這個東西主要用于集群的彈性擴容指標和dashboard指標,不是用于監控資源!
執行部署
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
輸出
驗證部署是否成功
執行
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
創建一個名為eks-admin.yaml的文件,內容為
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
執行此文件
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的部署,但是此時只能在集群內部訪問Dashboard,無法通過外網訪問。下一步將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::你的賬號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
驗證安裝是否完成
創建部署文件,dashboard-ingress.yaml,內容如下(需要修改漢字部分內容):
---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
執行文件,創建ingress
kubectl apply -f dashboard-ingress.yaml
使用https協議訪問域名
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125371.html
摘要:正在美國拉斯維加斯舉行的大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是一種無需管理服務器即可運行容器的服務,以及,一個完全托管的服務。的發布,意味著國際范圍內三大最主要的云服務商和,已全部提供托管的服務。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是AWS Fargat...
摘要:正在美國拉斯維加斯舉行的大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是一種無需管理服務器即可運行容器的服務,以及,一個完全托管的服務。的發布,意味著國際范圍內三大最主要的云服務商和,已全部提供托管的服務。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是AWS Fargat...
摘要:現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用作為分布式應用程序平臺開發人員使用作為后端數據庫。而我們已注意到,將諸如之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致...
摘要:現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用作為分布式應用程序平臺開發人員使用作為后端數據庫。而我們已注意到,將諸如之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致...
摘要:但是可惜的是,當中的塊存儲并不支持這樣的方式。都是監聽指定資源,然后分別對和和三種事件,做出處理。部署具體部署的如下注意,加入集群中不存在角色,可以自行進行授權。例如創建成果以后,去的查看如下 前言 在使用aws的托管k8s--eks過程中,避免不了使用aws的LB和塊存儲。AWS公有云所有的資源都可以自定義tags,這樣的好處就是可以根據tag具體含義來對資源進行不同維度的審計和統計...
閱讀 724·2023-04-25 19:43
閱讀 3921·2021-11-30 14:52
閱讀 3794·2021-11-30 14:52
閱讀 3859·2021-11-29 11:00
閱讀 3790·2021-11-29 11:00
閱讀 3882·2021-11-29 11:00
閱讀 3562·2021-11-29 11:00
閱讀 6138·2021-11-29 11:00