centOS 部署K8S

安装完系统后使用:cat /etc/redhat-release 查看CentOS版本

如使用 ip addr不能显示IP;则通过 vi /ect/sysconfig/network-scripts/ifcfg-ens33

修改ONBOOT=no改为ONBOOT=yes

然后重启网络服务:service network restart

(在修改了ens33后;使用yum update -y 更新系统正常,原因不清楚)

master:192.168.217.134

node1:192.168.217.133

更新主机名:hostnamectl set-hostname k8s-master

然后使用:bash 更新

master配置主机hosts映射:vi /etc/hosts

192.168.1217.134 k8s-master

192.168.217.133 k8s-node1

将桥接的IPV4流量传递到iptablesde 链:(所有主机)

cat >> /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF

使用 sysctl --system   #生效

时间同步:

yum install ntpdate -y

ntpdate time.windows,com

内核升级(所有虚机)

参考:Centos7 升级内核版本 - 大胖猴 - 博客园

查看内核版本:uname -r

#导入ELRepo仓库的公共密钥:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

#安装ELRepo仓库的yum源:rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

安装最新版本内核:yum --enablerepo=elrepo-kernel install kernel-ml

查看系统上的所有可用内核:sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

通过 grub2-set-default 0 命令设置默认内核

设置完后如果未生效,重启虚拟机就好了

下面开始安装k8s

参考:最详细安装k8s步骤 - tangy1 - 博客园 

# 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

# 关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config  #永久

setenforce 0  #临时

# 关闭swap(k8s禁止虚拟内存以提高性能)

sed -ri 's/.*swap.*/#&/' /etc/fstab #永久

swapoff -a #临时

Kubernetes安装具体步骤

所有服务器节点安装 Docker/kubeadm/kubelet/kubectl

Kubernetes 默认容器运行环境是Docker,因此首先需要安装Docker;

(1)安装 Docker(CentOS Docker 安装 | 菜鸟教程)

使用国内 daocloud 一键安装命令:curl -sSL https://get.daocloud.io/docker | sh

使用 Docker 仓库进行安装:

yum install -y yum-utils
yum install -y   device-mapper-persistent-data 
yum install -y   lvm2 

使用以下命令来设置稳定的仓库:

sudo  yum-config-manager 
 sudo    --add-repo 
 sudo    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community:yum install docker-ce docker-ce-cli containerd.io

 列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

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

通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。 

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

启动 Docker: systemctl start docker

 通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

docker run hello-world

查看docker安装信息:docker info 

附录

查询docker安装过的包:yum list installed | grep docker

删除安装包:yum remove docker-ce -y

删除镜像/容器等:rm -rf /var/lib/docker

(2)添加阿里元YUM软件源

添加kubernetes.repo
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

  (3)安装kubeadm,kubelet和kubectl

yum install -y kubelet kubeadm kubectl

systemctl enable kubelet (先不执行)

部署Kubernetes Master

设置kubeadm文件:

kubeadm init \
  --apiserver-advertise-address=192.168.217.134 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubenetes-version v1.25.3 \
  --service-cidr=10.96.0.0/16 \
  --pod-network-codr=10.244.0.0/16 \
  --ignore-preflight-errors=all

初始化k8s: 

sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.5 --pod-network-cidr=192.168.0.0/16

保存好:kubeadm join 192.168.217.134:6443 --token fyhorr.7pbwsmyp2kptua5u \
    --discovery-token-ca-cert-hash sha256:6298c56a7b74439fcbd1a5203617eca9061fa118af1d5aca6f5c2bf96fc20075 

 在node主机执行,加入集群

为kubectl准备Kubeconfig文件 ;这是执行完上面的操作需要执行的命令

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

使用kubectl get nodes查看节点安装情况 

 部署容器网络插件

 通过:journalctl -u kubelet查看日志

下载yum文件:wget https://docs.projectcalico.org/manifests/calico.yaml

 更改calico.yaml文件

  - name: CALICO_IPV4POOL_CIDR
               value: "10.244.0.0/16" #更改值为10.244.0.0/16

再使用:kubectl apply -f calico.yaml更新一下

使用:kubectl get pods -n kube-system查看网络的准备情况

使用:watch kubectl get pods -n calico-system确认所有 pod 都在运行

参考资料:

CentOS7.6安装Kubernetes v1.15.1(我们一起踩过的坑)_Elephant的技术博客_51CTO博客

CentOS7 部署K8S集群 - cao_xiaobo - 博客园

使用Kubeadm(1.13+)快速搭建Kubernetes集群 - 雨夜朦胧 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值