0
点赞
收藏
分享

微信扫一扫

k8s的安装及配置

龙驹书房 2022-04-05 阅读 73

1、修改hosts
vi /etc/hosts
192.168.64.94 k8s-master.99bill.com
192.168.64.95 k8s-slave1.99bill.com
192.168.64.96 k8s-slave2.99bill.com
2、新增国内的yum源
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
3、关闭 SELinux
setenforce 0
vim /etc/sysconfig/selinux
SELINUX=disabled
4、修改网络开启桥接网络支持
cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
vm.max_map_count=262144
EOF
sysctl -p /etc/sysctl.d/k8s.conf
5、关闭swap——不关闭配置节点或是配置master都会有问题
swapoff -a
vim /etc/fstab
6、安装 ebtables ethtool,否则后边执行 kubeadm init 的时候会报错
yum install ebtables ethtool -y
7、安装kubelet、kubeadm、kubectl
yum install kubelet kubeadm kubectl
添加aliyundocker仓库加速器

[root@master01 <sub>]# mkdir -p /etc/docker
[root@master01 </sub>]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fl791z1h.mirror.aliyuncs.com"]
}
EOF
[root@master01 <sub>]# systemctl daemon-reload
[root@master01 </sub>]# systemctl restart docker

11、初始化 master (正常情况)
kubeadm init --pod-network-cidr=<pod网络IP地址/子网掩码> --kubernetes-version=<k8s版本>
kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.23.5 --image-repository registry.aliyuncs.com/google_containers --apiserver-advertise-address=192.168.64.94
POD的网段为: 10.122.0.0/16,这一步很关键,由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过–image-repository指定阿里云镜像仓库地址。
给命令行一个执行权
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( i d − u ) : (id -u):(id−u):(id -g) $HOME/.kube/config
12、安装 calico 网络插件(推荐)
curl https://projectcalico.docs.tigera.io/v3.22/manifests/calico.yaml -O
kubectl apply -f calico.yaml
13、配置自动补全
设置kubectl命令自动补全(master和node节点都可配置)

yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

其他
1、重置集群
kubeadm reset
2、token 过期
此时需要通过kubedam重新生成token
[root@master ~]#kubeadm token generate #生成token
7r3l16.5yzfksso5ty2zzie #下面这条命令中会用到该结果
[root@master ~]# kubeadm token create 7r3l16.5yzfksso5ty2zzie --print-join-command --ttl=0 #根据token输出添加命令
kubeadm join 192.168.64.93:6443 --token tgy3us.o99091e7lde4a2mu --discovery-token-ca-cert-hash sha256:39db5a5f087598460cd3b2711bbb2ab621198a3773d08d51f849a73ba1076814
3、镜像导入、导出、打标签
docker save 2c8b39ecfa44 > cni.3.22
docker load < cni.3.22
docker images
docker tag 2a8ef6985a3e docker.io/calico/cni:v3.22.1
docker images
docker tag c0c6672a66a5 docker.io/calico/kube-controllers:v3.22.1
docker tag 2a8ef6985a3e docker.io/calico/cni:v3.22.1
docker tag 17300d20daf9 docker.io/calico/pod2daemon-flexvol:v3.22.1
docker tag 7a71aca7b60f docker.io/calico/node:v3.22.1

举报

相关推荐

0 条评论