csworkman

个人博客

K8S+CENTOS8 搭建

2021-9-8 Mr Chang KUBERNETES

 
systemctl stop firewalld
systemctl disable firewalld
#永久关闭selinux
sed -i 's/enforcing/disbaled/' /etc/selinux/config
setenforce 0 #临时关闭
#关闭临时分区
swapoff -a

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

#根据规划设置主机名
hostnamectl set-hostname k8snode1
hostnamectl set-hostname k8smaster
hostnamectl set-hostname k8snode2

# 在master添加hosts
cat >> /etc/hosts <<EOF
192.168.110.181 k8smaster
192.168.110.228 k8snode1
EOF

# 将桥接的IPV4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
#生效
sysctl --system 


mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
yum clean all
yum makecache
#时间同步
yum install chrony -y
timedatectl set-timezone Asia/Shanghai
chronyc -a makestep

3.1 安装DOCKER
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
yum list docker-ce --showduplicates | sort r
yum -y install docker-ce-3:19.03.15-3.el8  --allowerasing
systemctl enable docker && systemctl start dockersystemctl enable docker && systemctl start docker
docker --version

#修改docker镜像源为阿里云的镜像
cat > /etc/docker/daemon.conf <<EOF
{
"register-mirrors" : [
"https://6mx4nat8.mirror.aliyuncs.com",
]
}
EOF
systemctl restart docker
#添加k8s的yum源
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=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum clean all
yum makecache
#安装kubelet、kubeadm、kubectl
yum list  kubeadm --showduplicates | sort -r
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
#开机自动启动kubelet
systemctl enable kubelet


#部署kubernetes Master
kubeadm init --apiserver-advertise-address=192.168.110.181 --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version=1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 

  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 node

 #默认token有效期是24小时 过期之后 token就不可用了 这时候需要重新创建token
 kubeadm token create --print-join-command

 #配置网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get nodes
kubectl get pods -n kube-system

#kubernetes集群中创建一个pod 验证是否正常运行:
kubectl create deployment nginx --image
kubectl expose deployment nginx --port=80 --type=NodePort


发表评论: