安装完毕kubernetes后,对K8S主节点进行配置:
echo -e “\e[43;31m 对K8S Master主节点进行初始化配置: \e[0m”
#判断是否是主节点,这个判断条件自己可以设定。
if hostname | grep ‘master’;then
# 初始化,加一些参数
kubeadm init --kubernetes-version=v1.19.16 --pod-network-cidr=192.168.2.0/24 --service-cidr=192.168.1.0/24 --apiserver-advertise-address=192.168.0.110 --image-repository registry.aliyuncs.com/google_containers
# #关于参数的解释:
# kubeadm init
# # api-server运行在k8S-master的ip上
# echo “将K8S的API-Server地址设置为K8S-Master-110的IP地址:”
# --apiserver-advertise-address=192.168.0.110
# #
# # 拉去k8s镜像,从阿里云获取,否则默认是国外的Kk8s镜像地址,下载不丁
# #–image-repository registry.aliyuncs.com/google_containers
# echo “将K8S官方镜像仓库地址更换为阿里云K8S仓库地址:”
# --image-repository registry.aliyuncs.com/google_containers
# #
# #和kubeadm 1.19.16 保持一致
# --kubernetes-version v1.19.16
# #
# echo “将K8S的服务发现网段设置为192.168.1.0/24 :”
# # k8s服务发现网段设置,service网段,注意是192.168.1.X
# --service-cidr=192.168.1.0/24
# #
# # 设置pod创建后的运行网段地址,注意是192.169.2.X
# echo “设置pod创建后的运行网段地址设置为192.168.1.0/24 :”
# --pod-network-cidr=192.169.2.0/24
# #
# # k8s服务发现网段设置,service资源的域名后缀。
# echo “设置k8s服务发现网段设置即service资源的域名后缀为cluster.local:”
# --service-dns-domain=cluster.local
# #
# # 忽略Swap报错
# --ignore-preflight-errors=Swap
# #
# # 忽略CPU数量报错
# --ignore-preflight-errors=NumCPU
echo -e “\e[43;31m 【提示1】注意此处返回的操作提示,后边要用。 \e[0m”
echo -e "\e[43;31m 开始在K8S-Master创建集群配置文件: \e[0m"
#用于指定默认的SSl证书在哪里、api-server的地址等。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo -e "\e[43;31m Pod集群网络部署跳过。后期用flannel网络插件。 \e[0m"
#将
echo -e "\e[43;31m 接下来:根据【提示1】前面'you can Join any number work nodes.....'进行操作: \e[0m"
echo "复制使用【提示1】给出命令和token(随机生成)的提示,将node加入到集群即可。"
echo "命令类似:Kubeadm join [ip]:[port] --tokern xx.xx --discovery-tokern-ca-cert-hash sha256:XXXXXX"
#本次使用主节点返回的命令(含token)如下:
ff
echo -e "\e[43;31m 查看一下主节点K8S运行状态: \e[0m"
kubectl get nodes -o wide
echo -e "\e[43;31m 查看一下主节点网络配置情况: \e[0m"
netstat -tunlp
else
echo -e “\e[43;31m 错误:这个脚本只能在K8S Master节点上运行! \e[0m”
fi
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全命令补全方法:
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo “source < (kubectl completion bash)” >> ~/.bashrc