点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
操作系统环境准备
service NetworkManager status
service NetworkManager stop
chkconfig NetworkManager off
hostnamectl set-hostname k8s1
hostnamectl set-hostname k8s2 # 使用这个命令会立即生效且重启也生效
hostnamectl set-hostname k8s3
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
service iptables status
service iptabesl stop
chkconfig iptables off
cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
vi /etc/selinux/config
添加如下SELINUX=disabled
注释掉SELINUX=enforcing,SELINUXTYPE=targeted
或
setenforce 0
sed -i s/^SELINUX=enforcing$/SELINUX=permissive/ /etc/selinux/config
vi /etc/sysctl.conf && sysctl -p
net.ipv4.ip_forward = 1
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install conntrack socat ###k8s基础包
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /usr/local/docker
rm -rf /etc/docker
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-EOF
{
"registry-mirrors": ["https://dkqah25p.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload
systemctl restart docker
####默认cgroupfs,k8s官方推荐systemd,否则初始化出现Warning
docker info |grep Cgroup
K8S集群安装概述
cat <
/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.gpghttps://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet ##启动并设置开机启动
systemctl status kubelet
systemctl enable docker && systemctl start docker
vi /etc/sysconfig/kubelet
改为如下参数
KUBELET_EXTRA_ARGS=--cgroup-driver=systemd
uname -sr
#CentOS 7 上启用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rp
#仓库启用后,你可以使用下面的命令列出可用的内核相关包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安装最新的主线稳定内核
yum --enablerepo=elrepo-kernel install kernel-ml
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
# grub2-mkconfig -o /boot/grub2/grub.cfg
Shutdown –r now
kubeadm init --kubernetes-version=v1.23.3 --apiserver-advertise-address=192.168.1.200 --image-repository
registry.aliyuncs.com/google_containers --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16 --ignore-
preflight-errors=Swap,NumCPU
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.200:6443 --token y83cea.hb60yh33lzdj0zrw
--discovery-token-ca-cert-hash sha256:dbfbc08d087dc6f29db2a7e39407fe2f6d1681152f7eb6e059d10b79ef18acc1
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
systemctl status kubelet
kubectl apply -f flannel.yml
kubeadm join 192.168.1.200:6443 --token h92ghr.eysa3nxmh8t87g84
--discovery-token-ca-cert-hash
sha256:636713283be0b8d4f643041bcc27ca9f6b737bb447bbfda3a24b70a9190fed09
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129464.html
摘要:测试后,使用来发布。部署软件组件,启动虚拟机,将虚拟机分类到和节点,然后部署密钥清单。集群自动化集群配置由三个控制。自签证书签署的服务器端证书和它的密钥文件。 我们之前聊了把OpenStack跑在K8S上,如何基于Kubernetes在TCP云端创建私有云解决方法,运用在生产或在OpenStack启动虚拟化。今天换个姿势,我们来看看如何在OpenStack虚拟机上运行Kubernete...
摘要:使用安装集群本文撰写时,的分支不稳定,请使用版本来安装,具体来说就是切换到最新的上。确保每个都安装了在每个上开启,修改,然后重启。可参考这篇文章执行找一台服务器,用来执行,的原理是通过连接到各个执行命令安装集群。 GitHub: https://github.com/chanjarste... 使用Kubespray安装k8s集群 本文撰写时,Kubespray的master分支不稳定...
摘要:使用安装集群本文撰写时,的分支不稳定,请使用版本来安装,具体来说就是切换到最新的上。确保每个都安装了在每个上开启,修改,然后重启。可参考这篇文章执行找一台服务器,用来执行,的原理是通过连接到各个执行命令安装集群。 GitHub: https://github.com/chanjarste... 使用Kubespray安装k8s集群 本文撰写时,Kubespray的master分支不稳定...
摘要:如果你正在寻找一种部署容器到你的任一环境中的方法,给你至少个选择它的理由。允许你运行,以及成功完成一定数量的。通过验证我们完成的,上述的情况确认不会发生。每个就是几个小时的问题,而且由拥有者优先化。 对于Docker编制框架来说,Kubernetes 是最强的竞争者之一,这在版本1.2之后更是如此。如果你正在寻找一种部署 Docker 容器到你的任一环境中的方法,Kubernetes给...
摘要:下面我想介绍另一种学习思路,自顶向下的学习。是通过虚拟机创建集群,支持多种虚拟机,我这里用的。对内或对外暴露服务。和的控制器,通过配置的规则来管理。三个主要的命令行程序用了启动集群。需要在所以节点上运行,处理集群内部通讯,类似。 之前就玩过docker,但是一直不知道怎么把容器运用到生产上。构建一个docker镜像,把他run起来很简单;难的是容器的部署(CICD),容器的网络,数据持...
摘要:下面我想介绍另一种学习思路,自顶向下的学习。是通过虚拟机创建集群,支持多种虚拟机,我这里用的。对内或对外暴露服务。和的控制器,通过配置的规则来管理。三个主要的命令行程序用了启动集群。需要在所以节点上运行,处理集群内部通讯,类似。 之前就玩过docker,但是一直不知道怎么把容器运用到生产上。构建一个docker镜像,把他run起来很简单;难的是容器的部署(CICD),容器的网络,数据持...
阅读 1251·2023-01-11 13:20
阅读 1560·2023-01-11 13:20
阅读 1015·2023-01-11 13:20
阅读 1685·2023-01-11 13:20
阅读 3973·2023-01-11 13:20
阅读 2521·2023-01-11 13:20
阅读 1356·2023-01-11 13:20
阅读 3487·2023-01-11 13:20