K8S笔记:Kubernetes安装部署(CentOS7)

本文详细记录了在CentOS7上安装Kubernetes的两种方法:使用minikube和手动kubeadm安装。涵盖启动minikube的LoadBalancer支持、配置cgroup驱动、安装Pod网络组件、设置服务账号令牌、安装Haproxy Ingress及配置HTTPS证书等关键步骤。同时,提供了访问API接口和检查集群状态的方法。
摘要由CSDN通过智能技术生成

目录

一、使用minikube
启动minikube的LoadBalancer支持
    minikube tunnel
  • 错误1:The “docker” driver should not be used with root privileges.
    解决:将用户加入docker组

      useradd minikube
      usermod -aG docker minikube
    
指定minikube自带docker的docker0网桥网段
minikube ssh
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{ 
    "bip":"172.17.100.1/24"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

可以运行一个例子看看是否生效

kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1

minikube使用本地image
  • 方法1
    用minikube自带docker环境进行image创建

      eval $(minikube docker-env)
    
  • 方法二
    将本地image加入minikube的cahce

     minikube cache add <IMAGE_NAME>
    
二、使用kubeadm手工安装

官网文档

1、安装前准备
  • 确认安装的kubenetes支持的最高版本的docker

当使用不支持的版本时,运行kubeadm init会出错:

    [arksea@vm-centos-1 sysconfig]$ sudo kubeadm init --ignore-preflight-errors=SystemVerification
    [init] Using Kubernetes version: v1.20.2
    [preflight] Running pre-flight checks
            [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 20.10.3. Latest validated version: 19.03
    error execution phase preflight: [preflight] Some fatal errors occurred:

查询可以使用docker版本

$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64               3:20.10.3-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.3-3.el8                 @docker-ce-stable
docker-ce.x86_64               3:20.10.2-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.1-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.0-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:19.03.15-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.14-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.13-3.el8                docker-ce-stable 
已安装的软件包
上次元数据过期检查:0:07:18 前,执行于 2021年02月07日 星期日 17时00分22秒。
可安装的软件包

安装指定版本的docker

$ sudo yum install docker-ce-19.03.15-3.el8 docker-ce-cli-19.03.15-3.el8 containerd.io
  • 修改Cgroup驱动
    systemd使用的cgroupfs驱动,如果容器也使用cgroupfs,则节点将有两个不同cgroup管理器,这可能会让节点在资源压力下变得不稳定,所以让容器直接使用systemd。注意不要在节点安装加入集群后修改。(官方文档)
    编辑 /etc/docker/daemon.json (不存在就新建),配置运行参数:

      { "exec-opts": ["native.cgroupdriver=systemd"] }
    

    需要重启Docker,重启后可查看docker info确认修改

      # systemctl restart docker
      # docker info
    
2、允许iptables检查桥接流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
3、安装kubelet kubeadm kubectl
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

sudo systemctl en
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值