阿里云VPC网络下自建K8s集群集群使用记录(一)

简介: K8s 管理平台使用者越来越多,要搞清楚其特性,最好来实战安装一下 一.准备工作 创建了三台vpc实例主机,分配角色如下 ubuntu16   master 192.168.0.98     Centos 7.


K8s 管理平台使用者越来越多,要搞清楚其特性,最好来实战安装一下


一.准备工作


创建了三台vpc实例主机,分配角色如下
ubuntu16   master
192.168.0.98    

Centos 7.4  worker   
192.168.0.96
192.168.0.97 

三台主机中直接yum/apt安装好docker  
yum install docker
apt-get install docker

阿里云ecs 默认是关闭防火墙的,如果有开启防火墙和selinux服务,需要先关闭



使用阿里云镜像源在每台ecs中安装 kubelet kubeadm kubectl


Debian / Ubuntu


curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl

apt-get update && apt-get install -y apt-transport-https

CentOS / RHEL / Fedora

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet



二.配置master节点


网络上有很多都是手工安装各个组件 etcd flannel


我们按照最简单的方式,使用kubeadm来执行安装,即按照官方文档的方法来操作

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/


所有管理组件采用DaemonSet Pod来安装





vi ~/kubeadm.conf

apiVersion: kubeadm.k8s.io/v1alpha1

kind: MasterConfiguration

api:

  advertiseAddress: 0.0.0.0

networking:

  podSubnet: 10.244.0.0/16

etcd:

  image: registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.11

kubernetesVersion: v1.10.3

imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers


执行操作命令

Kubeadm  init —config /root/kubeadm.conf


2.安装kube-flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

三.配置worker节点

1.将worker节点加入master 

kubeadm join 192.168.0.98:6443 --token catsr2.vxxxx  --discovery-token-ca-cert-hash sha256:xxxxxx    

这些信息来自master节点执行kubeadm init 完成后输出的结果

如果没有记录,可以在master节点中执行如下命令获取

kubeadm token create --print-join-command



2.安装kube-flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml


三.配置worker节点

1.将worker节点加入master 

kubeadm join 192.168.0.98:6443 --token catsr2.vxxxx  --discovery-token-ca-cert-hash sha256:xxxxxx    

这些信息来自master节点执行kubeadm init 完成后输出的结果

如果没有记录,可以在master节点中执行如下命令获取

kubeadm token create --print-join-command

api:

  advertiseAddress: 0.0.0.0

networking:

  podSubnet: 10.244.0.0/16

etcd:

  image: registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.11

kubernetesVersion: v1.10.3

imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers

kind: MasterConfiguration

api:

  advertiseAddress: 0.0.0.0

networking:

  podSubnet: 10.244.0.0/16

etcd:

  image: registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.11

kubernetesVersion: v1.10.3

imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers


执行操作命令

Kubeadm  init —config /root/kubeadm.conf


2.安装kube-flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml



三.配置worker节点


1.将worker节点加入master 

kubeadm join 192.168.0.98:6443 --token catsr2.vxxxx  --discovery-token-ca-cert-hash sha256:xxxxxx    

这些信息来自master节点执行kubeadm init 完成后输出的结果

如果没有记录,可以在master节点中执行如下命令获取

kubeadm token create --print-join-command

2.masterworker 分发kube-proxyflannel pod 直接去拉取 k8s.gcr.io上的镜像是不成功的

所以需要在worker节点上 先下载阿里云的镜像源中pause-amd,然后再做个tag 

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1   k8s.gcr.io/google_containers/pause-amd64:3.1



最终完成结果如图所示
cf9327939b9f0e9ab322a11d05cba00cd362f559



四.Troubleshooting


1.无法执行kubectl操作,可以按照执行如下命令之一

export KUBECONFIG=/etc/kubernetes/kubelet.conf

alias kubectl='kubectl --kubeconfig=/etc/kubernetes/kubelet.conf







阿里云容器服务可以直接通过web方式一键安装,更省心省力

https://yq.aliyun.com/articles/73922

https://www.aliyun.com/product/kubernetes




相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
存储 运维 监控
云服务运行安全创新标杆:阿里云飞天洛神云网络子系统“齐天”再次斩获奖项
阿里云“超大规模云计算网络一体化运行管理平台——齐天系统”凭借卓越的技术创新与实践成果,荣获“云服务运行安全创新成果奖”,同时,齐天团队负责人吕彪获评“全栈型”专家认证。
|
4月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
159 9
|
4月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
16天前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
135 2
|
5月前
|
供应链 安全 网络协议
|
5月前
|
边缘计算 安全 算法
阿里云CDN:构建全球化智能加速网络的数字高速公路
阿里云CDN构建全球化智能加速网络,拥有2800多个边缘节点覆盖67个国家,实现毫秒级网络延迟。其三级节点拓扑结构与智能路由系统,结合流量预测模型,确保高命中率。全栈式加速技术包括QUIC协议优化和Brotli压缩算法,保障安全与性能。五层防御机制有效抵御攻击,行业解决方案涵盖视频、物联网及游戏等领域,支持新兴AR/VR与元宇宙需求,持续推动数字内容分发技术边界。
382 13
|
4月前
|
人工智能 算法 异构计算
阿里云基础网络技术5篇论文入选全球网络顶会NSDI
近日,阿里云基础网络技术5篇论文被NSDI 2025主会录用。研究涵盖大模型训练网络故障诊断、仿真、容器网络性能诊断、CDN流控算法智能选择及GPU解耦推理优化等领域。其中,《Evolution of Aegis》提出增强现有体系+训练过程感知的两阶段演进路线,显著降低故障诊断耗时;《SimAI》实现高精度大模型集群训练模拟;《Learning Production-Optimized Congestion Control Selection》通过AliCCS优化CDN拥塞控制;《Prism》设计全新GPU解耦推理方案;《ScalaCN》解决容器化RDMA场景性能问题。
177 7
阿里云基础网络技术5篇论文入选全球网络顶会NSDI
|
4月前
|
canal 负载均衡 智能网卡
阿里云洛神云网络论文入选SIGCOMM'25主会,相关实习生岗位火热招聘中
阿里云飞天洛神云网络的两项核心技术Nezha和Hermes被SIGCOMM 2025主会录用。Nezha通过计算网络解耦实现vSwitch池化架构,大幅提升网络性能;Hermes则提出用户态引导I/O事件通知框架,优化L7负载均衡。这两项技术突破解决了云网络中的关键问题,展现了阿里云在网络领域的领先实力。
758 2
|
5月前
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
250 6

热门文章

最新文章

推荐镜像

更多