ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kubernetes-3.安装

2021-01-22 14:35:19  阅读:163  来源: 互联网

标签:Kubernetes kubernetes -- ce yum docker 安装 kubeadm


  • docker version:19.03.14
  • kubernetes version:1.19.4

本文介绍使用kubeadm安装Kubernetes集群的简单过程。

目录

使用kubeadm安装k8s过程

各节点安装的软件及操作:

  1. master,nodes:安装docker、kubelet、kubeadm、kubectl
  2. master:kubeadm init
  3. nodes:kubadm join

安装

基本配置

  1. 关闭iptables、firewalld、selinux
  2. br_filter
# 未启用模块则无此目录及文件;通过modprobe br_netfilter命令启用
# 查看值是否均为1
cat /proc/sys/net/bridge/bridge-nf-call-iptables
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
  1. 替换安装源
    替换安装源为国内速度较快的源

使用阿里云docker源安装docker

# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
#  yum -y install docker-ce-[VERSION]

使用阿里云kebernetes源安装kubernetes

# 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安装
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=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
  1. 时间一致
    确认服务器间时间同步一致
  2. 更换docker仓库
# 使用aliyun docker仓库或其它
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4bu92zt0.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

初始化kubernetes master

初始化命令

# 指定网络信息;10.244.0.0/16是flannel的默认地址段,学习使用期间为了省事建议不修改。
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.0.0.0/12

错误解决

[ERROR Swap]: running with swap on is not supported

# 关闭Swap或添加ignore选项参数忽略
# 更改配置文件
cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
# 使用错误忽略参数再次执行
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.0.0.0/12 --ignore-preflight-errors=Swap

初始化过程会拉取一些相关docker镜像包,也可以通过命令提前拉取,减少等待

kubeadm config images pull

初始化中的一些问题

安装kubernetes必须组件的一些镜像存储于google镜像站点,无法正常访问,可以通过网络上其他人已经共享的同步好的仓库来拉取这些必要的镜像

# 查看所要拉取的镜像
kubeadm config images list

# 通过网络上其他人已共享的仓库拉取;指定仓库地址
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.0.0.0/12 --ignore-preflight-errors=Swap --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"

初始化完成后的一些操作

按照提示进行以下操作

# 配置kubectl向API服务器请求时的验证信息
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

初始化完成后记得保存以下信息,然后在nodes节点上执行以下命令使其加入kubernetes集群

kubeadm join 172.16.25.130:6443 --token ****** \
    --discovery-token-ca-cert-hash ******

确认可用

# 执行此命令会显示client和server版本,能够显示则表示两者均正常
kubectl version

# 查看当前kubernetes namespaces
kubectl get ns

# 查看当前pods,指定查看namespace为kube-system中的pods
kubectl get pods -n kube-system

# 查看当前集群中的nodes
kubectl get nodes

# 查看组件状态
# 查看组件状态时scheduler和controller-manager可能显示为unhealthy
# 由于默认这两个pod的非安全端口没有开启,健康检查时报错,但是由于本身服务是正常的,只是健康检查的端口没启,所以不影响正常使用。
# 若启用则修改/etc/kubernetes/manifests/kube-controller-manager.yaml和/etc/kubernetes/manifests/kube-scheduler.yaml中--port=0选项,将此行注释或删除后restart kubelet即可
kubectl get cs

node节点

  1. 安装docker、kubectl、kubelet、kubeadm
  2. 使用命令加入kubernetes集群
kubeadm join 172.16.25.130:6443 --token ****** \
  --discovery-token-ca-cert-hash ******

部署flannel


# 安装完成后可通过kubectl get pod -n kube-system查看到flannel已经running
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

标签:Kubernetes,kubernetes,--,ce,yum,docker,安装,kubeadm
来源: https://www.cnblogs.com/ioops/p/14313115.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有