千家信息网

在AWS中国区如何使用kops安装k8s

发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,小编给大家分享一下在AWS中国区如何使用kops安装k8s,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装kops (B
千家信息网最后更新 2025年02月12日在AWS中国区如何使用kops安装k8s

小编给大家分享一下在AWS中国区如何使用kops安装k8s,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

安装kops (Binaries)

我们建议使用一台低配服务器作为k8s的管理机,在上面安装kops等管理工具。

从github上下载已经编译好的二进制文件

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-amd64chmod +x ./kopssudo mv ./kops /usr/local/bin/

安装其它依赖

kubectl

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

从kubernetes官方kubectl获取发布版本:

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

安装AWS CLI 工具

awscli是用Python写的,安装Python和pip后直接运行下面命令就可以了。

pip install awscli

创建账号

在 1.6.2 版本之前,通过 kops 部署 K8s 集群,需要使用 AWS 的 Route53 来提供 DNS 服务的功能。但从 1.6.2 版本开始,kops 支持部署基于 gossip 的集群,不再依赖 Route53,这让部署操作变得更加简单。

配置AWS 账号,使用该账号为kops创建专用账号:

$ aws configureAWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: cn-north-1Default output format [None]: json

为了使用 kops 部署集群,还需要为 kops 创建一个 IAM 用户kops,并分配相应的权限:

$ 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用户创建密钥:

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

上面的命令会返回kops用户的AccessKeyIDSecretAccessKey。接着我们就可以更新awscli的配置,让它使用新创建的kops用户的密钥:

$ aws configureAWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: cn-north-1Default output format [None]: json

同时还需要将kops用户的密钥导出到命令行的环境变量:

$ 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 创建基于 gossip 的集群,集群的命名需要使用.k8s.local作为后缀,例如,这里我们将集群命名为cluster.k8s.local

$ export NAME=cluster.k8s.local

接着创建一个 S3 bucket,用户存储集群的数据,例如,这里我们将这个 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中国地区没有官方的kops ami。

创建集群

下面的命令会创建集群的配置文件,并不会真正地创建集群:

注意:kops-1.8.1不支持中国宁夏区,只支持北京区,

$ 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= \     --subnets= \     --networking=calico \     --ssh-public-key="~/.ssh/id_rsa.pub"

对于网络模型,使用calico,因为在线上都会自己进行网络规划,当使用k8s默认的kubenet时,k8s会修改AWS路由表,这意味着k8s需要有自己的路由表所有需要有自己的子网,如果在生产环境已经做好了网络规划,使用指定subnet,k8s网络将无法正常运行。

在创建集群之前,可以检查集群的配置文件是否正确:

$ kops edit cluster ${NAME}

在AWS上我们通常使用自己的密钥连接服务器  

...spec:  sshKeyName: ...

因为一些网站被墙,因此建议使用代理搭建集群。

...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...

如果确认没问题,就可以使用下面的命令创建集群:

$ kops update cluster ${NAME} --yes

创建集群之后,需要一段时间等待集群的初始化,等待集群起来之后,可以验证集群的状况:

$ kops validate cluster

  前面已经安装好了kubectl工具,这里也可以使用kubectl检查集群状况:

$ kubectl get nodes

销毁集群

  在销毁集群之前,需要先确认一下 kops 会删除哪些资源:

$ kops delete cluster --name ${NAME}

  如果确认没问题,就可以真正删除集群:

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

以上是"在AWS中国区如何使用kops安装k8s"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

集群 用户 命令 密钥 配置 中国 工具 版本 网络 账号 文件 篇文章 面的 支持 服务 管理 中国区 内容 官方 建议 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 airbnb爱彼迎服务器 票据通显示重新配置数据库 数据库备份出来自动压缩 取1分钟线数据库 网络安全三员管理是哪部法规 搭建青龙豆子服务器 长沙市网络安全技术培训课程 对网络安全的了解 制定网络安全法 是为了 南京对日软件开发公司 单机dnf数据库链接失败 无线传感网络技术教学 支部网络安全工作总结报告 利尔达软件开发Java面试 全国民航网络安全技能大赛 山西服务器电源排行榜 广州言鼎软件开发有限公司 香肠派对服务器二次崩溃 工程咨询继续教育网络安全概述 战地五被服务器ban什么意思 樊企网络技术工作室 猫鲸网络技术 河北专接本网络技术专业 水管所网络安全排查情况汇报 市纪委市监委网络技术中心 服务器开关电源改装输出音响 物料清单信息软件开发 数据库连接报错码 53 计算机软件开发有几级考试 招聘软件开发人员哪里便宜
0