echo "HISTFILESIZE=99999" >> ~/.bashrc
echo "HISTSIZE=99999" >> ~/.bashrc
echo 'HISTTIMEFORMAT="%F %T "'>> ~/.bashrc
# 命令立刻写入而不是退出时写入
echo 'PROMPT_COMMAND="history -a"' >> ~/.bashrc
exit
然后重新sudo su,可以设置域名再进行下面操作
master 0
# 允许密码登录
sed -ri '/^PasswordAuthentication no/c#PasswordAuthentication no' /etc/ssh/sshd_config && \
sed -ri '/^#PasswordAuthentication yes/cPasswordAuthentication yes' /etc/ssh/sshd_config && \
# 允许root账号登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
# 让配置生效
systemctl restart sshd && \
# 至此可以使用passwd设置密码后换xshell了
swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab && \
setenforce 0 && sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config && \
systemctl disable --now firewalld && \
# 安装docker
mkdir /etc/docker && \
echo '{
"registry-mirrors" : ["https://mj9kvemk.mirror.aliyuncs.com"],
"exec-opts": [ "native.cgroupdriver=systemd" ]
}' > /etc/docker/daemon.json && \
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun && \
systemctl enable --now docker && \
# 开始安装k8s,下面两个0表示不校验
echo '[kubernetes]
name=Kubernetesvagrant
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'> /etc/yum.repos.d/kubernetes.repo&& \
yum -y makecache && \
# 确定k8s版本
KUBERNETES_VERSION=1.19.8-0
yum install -y kubelet-$KUBERNETES_VERSION kubeadm-$KUBERNETES_VERSION kubectl-$KUBERNETES_VERSION nc tc --disableexcludes=kubernetes && \
systemctl enable --now kubelet && \
docker pull gotok8s/coredns:v1.8.0 && \
docker tag gotok8s/coredns:v1.8.0 registry.aliyuncs.com/google_containers/coredns:v1.8.0 && \
export KUBECONFIG=/etc/kubernetes/admin.conf
下面master是外部访问主节点的地址(如果master是集群则必须配置),按照官网说法最好是lbs的地址,192.168.0.4是master节点的ip,不是lbs的地址,另外其他master在加入时也需要指定该地址为加入的master节点的ip(如果单网卡就没有这些烦恼),并且不能是域名
kubeadm init \
--apiserver-cert-extra-sans=127.0.0.1 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=172.24.0.0/16 \
--apiserver-advertise-address 192.168.0.4 \
--control-plane-endpoint "master:6443" --upload-certs && \
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
上面的init命令执行完毕会打印出来两个join命令,分别作为master加入集群和node加入集群时的指令