赞
踩
#添加hosts: cat >> /etc/hosts << EOF 117.78.45.55 cloudcore 117.78.45.56 edge-node1 EOF hostnamectl set-hostname cloudcorer && bash #关闭防火墙: systemctl stop firewalld systemctl disable firewalld #关闭selinux: sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久 setenforce 0 # 临时 #关闭swap: swapoff -a # 临时 sed -i 's/.*swap.*/#&/' /etc/fstab # 永久 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 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 vm.overcommit_memory=1 vm.panic_on_oom=0 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 EOF sysctl --system #时间同步: yum install ntpdate -y ntpdate time.windows.com
#(1)安装Docker yum -y install epel-release wget wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce-20.10.20-3.el7 #安装docker最新版 后面安装kubernetes的v1.20.5 #yum -y install docker-ce #安装docker最新版 systemctl enable docker && systemctl start docker && systemctl status docker docker --version #(2)添加阿里云YUM 软件源 #设置仓库地址 cat > /etc/docker/daemon.json << EOF { "registry-mirrors":["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF systemctl restart docker && systemctl status docker docker --version
#添加yum 源 cat > /etc/yum.repos.d/kubernetes.repo << EOF [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 #安装kubeadm,kubelet 和kubectl yum clean all && yum makecache -y # yum list kubectl --showduplicates | sort -r #列出kubectl可用的版本 yum -y install kubelet-1.22.6-0 kubeadm-1.22.6-0 kubectl-1.22.6-0 systemctl enable kubelet
kubeadm init --apiserver-advertise-address=117.78.45.55 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.6 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all #这里的117.78.44.202是主机cloudcore的公网IP,运行中出现了如下图的结果,提示超时
#图片中出现的问题的处理方式:
#解决办法是在卡住时,另启一个命令行窗口修改初始化生成的 etcd.yaml 中的配置成示例图一样,进程会自动重试并初始化成功。
vim /etc/kubernetes/manifests/etcd.yaml
- --listen-client-urls=https://0.0.0.0:2379 #这行IP修改为0.0.0.0
- --listen-metrics-urls=http://127.0.0.1:2381
- --listen-peer-urls=https://0.0.0.0:2380 #这行IP修改为0.0.0.0
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f calico.yaml #这个文件单独发你了
kubectl taint nodes --all node-role.kubernetes.io/control-plane- #执行这句就行,就是取消污点
kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl get no -o yaml | grep taint -A 5 #再次查看,无显示,说明污点去除成功
rpm -aq |grep completion
yum -y install bash-completion #安装补全命令的包
kubectl completion bash
source /usr/share/bash-completion/bash_completion
kubectl completion bash >/etc/profile.d/kubectl.sh
source /etc/profile.d/kubectl.sh
cat >> /root/.bashrc << EOF
source /etc/profile.d/kubectl.sh
EOF
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc -o wide
# 浏览器利用IP:端口访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。