国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【k8s】在AWS EKS部署并通過ALB訪問k8s Dashboard保姆級教程

番茄西紅柿 / 3547人閱讀

摘要:本教程適用范圍本教程適用范圍在上使用服務部署,并通過訪問集群計算節點采用托管,并使用啟動模板。到此,完成集群的搭建,部署,部署,并實現了外網訪問。

本教程適用范圍

  • 在AWS上使用EKS服務部署k8s Dashboard,并通過ALB訪問
  • EKS集群計算節點采用托管EC2,并使用啟動模板。
  • 使用AWS海外賬號,us-west-2區域
  • 使用賬號默認vpc(172.31.0.0/16)和子網
  • 使用awscli創建而不是eksctl
  • 對AWS有一定了解,不適用于AWS小白
  • 文中代碼,漢字部分需要修改成自己的信息

涉及到知識點

  • AWS服務:EC2,IAM,EKS,VPC,ACM,ALB,SecurityGroup, awscli, eksctl
  • K8s: Service, Pod, Ingress, Node

必備條件

  • 有一臺用于操作的服務器(本教程使用ec2: ubuntu 18,EKS默認將集群最大權限賦予創建集群的用戶,所以不建議使用控制臺創建集群,尤其是對于SSO登錄用戶)
  • 擁有AWS administrator權限(本教程將權限賦予服務器)
  • 擁有域名管理權限(能夠創建并解析域名)
  • 擁有域名證書(本教程使用ACM證書)

詳細步驟

安裝kubectl,awscli

# 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

輸入如下表示安裝完成

在EKS上啟動一個集群

使用aws控制臺,創建eks-cluster角色,策略如下:

創建eks-cluster安全組

將需要使用的子網添加如下標簽(有了此標簽,才能使用alb)

創建集群

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

配置kubectl以訪問EKS

# --name 后為集群名aws eks --region us-west-2 update-kubeconfig --name zhenglisai

配置完成后,訪問EKS集群

表示完成配置,可以訪問集群了。

查看所有正在運行的pod

可以看到,有兩個pod沒有起來,我們看一下為什么沒有起來
執行

kubectl get pods coredns-85d5b4454c-rkccb --namespace kube-system --output yaml

看輸出是沒有可用的計算節點,說明我們上一步創建的計算節點還沒運行起來,查看可用節點,確實沒有

等大約兩分鐘以后,再次執行,可以看到實例已經注冊到集群了

再次查看pod狀態,都已經運行起來了。

安裝Metric Server

這個東西主要用于集群的彈性擴容指標和dashboard指標,不是用于監控資源!
執行部署

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

輸出

驗證部署是否成功

部署Dashboard

執行

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml

默認情況下,Kubernetes 控制面板用戶的權限是有限的,我們創建一個超級用戶

創建一個名為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

獲取Dashboard的token令牌,用于訪問Dashboard

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk {print $1})

到此為止,已完成集群的搭建和Dashboard的部署,但是此時只能在集群內部訪問Dashboard,無法通過外網訪問。下一步將Dashboard接口暴露給ALB

安裝AWS負載均衡器控制器到EKS集群

下載IAM策略

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

創建集群IAM OIDC身份提供商

eksctl utils associate-iam-oidc-provider --cluster zhenglisai --approve

創建k8s賬戶并關聯策略

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

驗證安裝是否完成

部署Ingress

創建部署文件,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

去域名解析網站,創建域名,并指向ALB的DNS

使用https協議訪問域名

輸入上一章節中獲取Dashboard的token令牌即可登錄

到此,完成EKS集群的搭建,Dashobard部署,Ingress部署,并實現了外網訪問Dashboard。

原創作者:鄭立賽


郵箱:zhenglisai@qq.com


歡迎關注我們的公眾號獲取最新文章:運維自動化開發


公眾號
公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125371.html

相關文章

  • 公有云托管K8s服務百花齊放,企業如何統一納管、便捷管理?

    摘要:正在美國拉斯維加斯舉行的大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是一種無需管理服務器即可運行容器的服務,以及,一個完全托管的服務。的發布,意味著國際范圍內三大最主要的云服務商和,已全部提供托管的服務。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是AWS Fargat...

    AdolphLWQ 評論0 收藏0
  • 公有云托管K8s服務百花齊放,企業如何統一納管、便捷管理?

    摘要:正在美國拉斯維加斯舉行的大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是一種無需管理服務器即可運行容器的服務,以及,一個完全托管的服務。的發布,意味著國際范圍內三大最主要的云服務商和,已全部提供托管的服務。 正在美國拉斯維加斯舉行的AWS re:Invent 2017大會上,亞馬遜新發布的一系列計算及存儲相關的功能中,最轟動容器領域,無非是AWS Fargat...

    golden_hamster 評論0 收藏0
  • Rancher Kubernetes Engine(RKE)正式發布:閃電般的Kubernetes安

    摘要:現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用作為分布式應用程序平臺開發人員使用作為后端數據庫。而我們已注意到,將諸如之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致...

    canopus4u 評論0 收藏0
  • Rancher Kubernetes Engine(RKE)正式發布:閃電般的Kubernetes安

    摘要:現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用作為分布式應用程序平臺開發人員使用作為后端數據庫。而我們已注意到,將諸如之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致...

    Anchorer 評論0 收藏0
  • k8saws--add-ebs-tags-controller為ebs增加tag

    摘要:但是可惜的是,當中的塊存儲并不支持這樣的方式。都是監聽指定資源,然后分別對和和三種事件,做出處理。部署具體部署的如下注意,加入集群中不存在角色,可以自行進行授權。例如創建成果以后,去的查看如下 前言 在使用aws的托管k8s--eks過程中,避免不了使用aws的LB和塊存儲。AWS公有云所有的資源都可以自定義tags,這樣的好處就是可以根據tag具體含義來對資源進行不同維度的審計和統計...

    chanjarster 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<