随笔 - 11  文章 - 0  评论 - 0  阅读 - 1619

kubeadmin安装k8s

2、主机准备

2.1、主机配置要求

  • 操作系统centos7
  • 内存>=2GB、CPU>=2、硬盘 >=100GB
  • 内核版本>4.4
  • 机器网络互通
  • 可以访问外网或者提前下载镜像
  • 禁用swap
软件 版本
操作系统 CentOS7 7.9.2009
docker-ce 17.03
k8s yum源安装
calico 3.1.3
主机名称 IP
master01 192.168.1.100
master02 192.168.1.101
worker01 192.168.1.102
worker02 192.168.1.103
etcd01 192.168.1.104

2.2、IP地址设置

hostnamectl set-hostname xxx

BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.2

systemctl restart network

2.3、主机名和IP地址解析

vim /etc/hosts

ip hostname
ip1 hostname1

2.3.5、升级内核版本

#安装完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16 配置
#,如果没有,再安装一次!
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt

#设置开机从新内核启动
grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"

#重启
reboot
uname -r

4.4.212-1.el7.elrepo.x86_64

2.4、系统参数设置

cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_watches=89100
EOF

或者
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
vm.overcommit_memory=1 # 不检查物理内存是否够用
vm.panic_on_oom=0 # 开启OOM
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720

# 加载模块
modprobe  br_netfilter

sysctl -p /etc/sysctl.d/kubernetes.conf

2.5、主机安全配置

防火墙

systemctl stop firewalld
systemctl disable firewalld

firewall-cmd --state

selinux

# 永久关闭 重启生效
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 临时关闭 即刻生效
setenforce 0

安装依赖包

yum update -y
yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

2.6、swap分区设置

# 永久关闭 重启生效
sed -ri 's/.*swap.*/#$/' /etc/fstab

# 临时关闭 即刻生效
swapoff -a

2.7、时间同步

yum install -y ntpdate

crontab -e
0 */1 * * * ntpdate time.aliyun.com
*/1 * * * * ntpdate time.nist.gov

3、Docker安装

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum list docker-ce --showduplicates| sort -r

img
yum install --setopt=obsoletes=0 docker-ce-17.03.1.ce -y

mkdir /etc/docker

vim /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":["https://y3oofaik.mirror.aliyuncs.com"]
}

systemctl restart docker
systemctl enable docker
docker version

docker卸载

查询卸载

yum list installed|grep docker

img

yum remove -y containerd.io.x86_64

直接卸载

yum remove -y docker-ce docker-ce-cli containerd.io docker-common docker-selinux docker-engine

上面四个都卸载

删除目录

rm -rf /opt/docker /opt/containerd /var/lib/docker

4、docker compose安装

all。

curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose version # 查看版本号,测试是否安装成功
你可以通过修改URL中的版本,可以自定义您的需要的版本。

5、安装k8s组件

  • kubeadm
  • kubelet 管理pod、容器的生命周期
  • kubectl 集群管理工具

更改yum源

更改yum源为阿里云。

vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

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

systemctl enable --now kubelet

配置kubelet的cgroup

vim /etc/sysconfig/kubelet

KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"

KUBE_PROXY_MODE="ipvs"

6、准备集群镜像

kubeadm config images list

img

下载镜像

images=(
  kube-apiserver:v1.17.4
  kube-controller-manager:v1.17.4
  kube-scheduler:v1.17.4
  kube-proxy:v1.17.4
  pause:3.1
  etcd:3.4.3-0
  coredns:1.6.5
)

for imageName in ${images[@]}; do
  docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
  docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
  docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done

7、集群初始化

创建集群master节点

kubeadm init --kubernetes-version=v1.17.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=masterIP

img

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u)😒(id -g) $HOME/.kube/config

工作节点加入集群

kubeadm join MasterIP:6443 --token p5yrye.dqs8mehug3v2895k \

--discovery-token-ca-cert-hash sha256:7aab5873c4268ce0670bb9ac0785265c04b808dbe6fdce48e4ef2e2d159237b1

工作节点移除集群

kubeadm reset -f

8、安装网络插件

支持多种网络插件flannel、calico、canal等。本次选择flannel。在master节点安装

wget http://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl apply -f kube-flannel.yml

img

posted on   weikuo  阅读(592)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示