阿里云VPC网络下自建K8s集群集群使用记录(一)
K8s 管理平台使用者越来越多,要搞清楚其特性,最好来实战安装一下
一.准备工作
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=Kubernetesbaseurl=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.master向worker 分发kube-proxy和flannel 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
最终完成结果如图所示
四.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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
最佳实践系列丨Docker EE 日志记录最佳实践(二)
本文首发自“Docker公司”公众号(ID:docker-cn)编译丨小东每周一、三、五 与您不见不散! 在传统上,设计和实现集中的日志记录总是成为马后炮。要等到各种问题出现,集中的日志记录成为优先事项,人们才会想到用这样的解决方案查询、查看和分析日志,以找到问题的根本原因。但是到了容器时代,在设计使用 Docker 企业版 (Docker EE) 的容器即服务 (CaaS) 平台时,优先解决集中式日志记录是至关重要的。随着在容器中部署的微服务数量不断增多,它们以日志(或事件)形式产生的数据量会发生指数增长,点击以下标题,回顾第一部分内容: 最佳实践系列丨Docker EE 日志记录最佳实践(一) 应用日志驱动 Docker 提供了多种可用于管理应用日志的日志记录驱动。请查看 Docker 文档获取完整列表,以及关于如何使用它们的详细信息。 一般而言,如果您已经设置了日志记录基础架构,就应该对此现成基础架构使用日志记录驱动。如果您尚没有现成的日志记录系统,那么需要在此处强调某些方面的优点和缺点。 驱动 优点 缺点 无 超级安全,因为不记录任何信息 没有日志会大大增加故障排除的难度 js...
- 下一篇
Docker系列教程26-Docker Compose控制服务启动顺序
原文:http://www.itmuch.com/docker/26-docker-compose-controller-startup-order/,转载请说明出处。 在生产中,往往有严格控制服务启动顺序的需求。然而Docker Compose自身并不具备该能力。要想实现启动顺序的控制,Docker Compose建议我们使用: wait-for-it dockerize wait-for 本文演示如何使用wait-for-it 来控制服务的启动顺序,其他两款工具的使用方法大同小异,读者可自行研究。 还用前面编排WordPress博客的例子,现在我们想让MySQL先启动,启动完成后再启动WordPress。 分析 分析:找到WordPress的Dockerfile:https://github.com/docker-library/wordpress/blob/666c5c06d7bc9d02c71fd48a74911248be6f5a5b/php5.6/apache/Dockerfile 可看到类似如下的内容: COPY docker-entrypoint.sh /usr/loca...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题