溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在AWS中國區(qū)如何使用kops安裝k8s

發(fā)布時間:2021-11-12 11:40:51 來源:億速云 閱讀:225 作者:小新 欄目:云計算

小編給大家分享一下在AWS中國區(qū)如何使用kops安裝k8s,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

安裝kops (Binaries)

我們建議使用一臺低配服務(wù)器作為k8s的管理機,在上面安裝kops等管理工具。

從github上下載已經(jīng)編譯好的二進制文件

wget -O kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
chmod +x ./kops
sudo mv ./kops /usr/local/bin/

安裝其它依賴

kubectl

kubectl是管理和操作Kubernetes集群的CLI工具。

從kubernetes官方kubectl獲取發(fā)布版本:

wget -O kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

安裝AWS CLI 工具

awscli是用Python寫的,安裝Python和pip后直接運行下面命令就可以了。

pip install awscli

創(chuàng)建賬號

在 1.6.2 版本之前,通過 kops 部署 K8s 集群,需要使用 AWS 的 Route53 來提供 DNS 服務(wù)的功能。但從 1.6.2 版本開始,kops 支持部署基于 gossip 的集群,不再依賴 Route53,這讓部署操作變得更加簡單。

配置AWS 賬號,使用該賬號為kops創(chuàng)建專用賬號:

$ aws configure
AWS Access Key ID [None]: <your-accesskeyID>
AWS Secret Access Key [None]: <your-secretAccessKey>
Default region name [None]: cn-north-1
Default output format [None]: json

為了使用 kops 部署集群,還需要為 kops 創(chuàng)建一個 IAM 用戶kops,并分配相應(yīng)的權(quán)限:

$ aws iam create-group --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonEC2FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonRoute53FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/IAMFullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess --group-name kops
$ aws iam create-user --user-name kops
$ aws iam add-user-to-group --user-name kops --group-name kops

kops用戶創(chuàng)建密鑰:

$ aws iam create-access-key --user-name kops

上面的命令會返回kops用戶的AccessKeyIDSecretAccessKey。接著我們就可以更新awscli的配置,讓它使用新創(chuàng)建的kops用戶的密鑰:

$ aws configure
AWS Access Key ID [None]: <accesskeyID-of-kops-user>
AWS Secret Access Key [None]: <secretAccessKey-of-kops-user>
Default region name [None]: cn-north-1
Default output format [None]: json

同時還需要將kops用戶的密鑰導(dǎo)出到命令行的環(huán)境變量:

$ export AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id)
$ export AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key)
$ export AWS_REGION=$(aws configure get region)

最后是生成 SSH 密鑰:

$ ssh-keygen

配置 S3

需要注意,為了讓 kops 創(chuàng)建基于 gossip 的集群,集群的命名需要使用.k8s.local作為后綴,例如,這里我們將集群命名為cluster.k8s.local

$ export NAME=cluster.k8s.local

接著創(chuàng)建一個 S3 bucket,用戶存儲集群的數(shù)據(jù),例如,這里我們將這個 bucket 命名為cluster.k8s.local-state.ym

$ aws s3api create-bucket --bucket ${NAME}-state-store --create-bucket-configuration LocationConstraint=$AWS_REGION
$ export KOPS_STATE_STORE=s3://cluster.k8s.local-state-store

準備kops ami

我們必須建立自己的AMI,因為AWS中國地區(qū)沒有官方的kops ami。

創(chuàng)建集群

下面的命令會創(chuàng)建集群的配置文件,并不會真正地創(chuàng)建集群:

注意:kops-1.8.1不支持中國寧夏區(qū),只支持北京區(qū),

$ kops create cluster \

     --name=${NAME} \
     --image=ami-089b06f993df09d53 \
     --zones=cn-north-1a \
     --master-count=1 \
     --master-size="t2.micro" \
     --node-count=1 \
     --node-size="t2.micro"  \
     --vpc=<your vpc id> \
     --subnets=<stringSlice> \
     --networking=calico \
     --ssh-public-key="~/.ssh/id_rsa.pub"

對于網(wǎng)絡(luò)模型,使用calico,因為在線上都會自己進行網(wǎng)絡(luò)規(guī)劃,當使用k8s默認的kubenet時,k8s會修改AWS路由表,這意味著k8s需要有自己的路由表所有需要有自己的子網(wǎng),如果在生產(chǎn)環(huán)境已經(jīng)做好了網(wǎng)絡(luò)規(guī)劃,使用指定subnet,k8s網(wǎng)絡(luò)將無法正常運行。

在創(chuàng)建集群之前,可以檢查集群的配置文件是否正確:

$ kops edit cluster ${NAME}

在AWS上我們通常使用自己的密鑰連接服務(wù)器  

...
spec:
  sshKeyName: <your ssh key name>
...

因為一些網(wǎng)站被墻,因此建議使用代理搭建集群。

...
spec:
  egressProxy:
    httpProxy:
      host: http-proxy
      port: port
    excludes: amazonaws.com.cn,amazonaws.cn,aliyun.cn,aliyuncs.com

...

還可以指定docker版本

...
spec:
    docker:
        logDriver: json-file
        version: 17.03.2-ce
...

如果確認沒問題,就可以使用下面的命令創(chuàng)建集群:

$ kops update cluster ${NAME} --yes

創(chuàng)建集群之后,需要一段時間等待集群的初始化,等待集群起來之后,可以驗證集群的狀況:

$ kops validate cluster

  前面已經(jīng)安裝好了kubectl工具,這里也可以使用kubectl檢查集群狀況:

$ kubectl get nodes

銷毀集群

  在銷毀集群之前,需要先確認一下 kops 會刪除哪些資源:

$ kops delete cluster --name ${NAME}

  如果確認沒問題,就可以真正刪除集群:

$ kops delete cluster --name ${NAME} --yes

以上是“在AWS中國區(qū)如何使用kops安裝k8s”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI