2021-01-27

安装k8s 1.20 记录
OS:CentOS7.6

systemctl disable --now firewalld
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager关闭selinux 防火墙 关闭swap 开启ntp同步时间
Create Container RunTimes
Installing Kubernetes with deployment tools
#安装docker并更换docker镜像仓库

#提前确定好主机名 如果安装好k8s后再更改会无法运行 localhost.localdomain
#k8s配置文件路径/etc/kubernetes/manifests

a. 个节点 配置主机名、配置hosts文件
cat<> /etc/hosts
172.18.30.166 k8s-master01
172.18.30.167 k8s-node01
172.18.30.168 k8s-node02
172.18.30.169 k8s-node03
EOF

b. 各节点 安装docker-CE

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

修改docker源镜像

echo ‘{“registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn/”]}’ > /etc/docker/daemon.json
EOF

Step 4: 开启Docker服务

systemctl enable docker --now
sudo service docker start

检验

docker version

c. 所有节点Installing kubeadm
#添加kubernetes源
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
#设置selinux
setenforce 0

#关闭swap 转发到iptables
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

swapoff -a && sed -ri ‘s/.swap./#&/’ /etc/fstab

#Installing kubeadm, kubelet and kubectl
#安装包–disableexcludes=kubernetes 禁掉除了这个之外的别的仓库 注意安装时的版本
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

#开启服务kubelet
systemctl enable kubelet --now

c. master01使用kubeadm创建集群
kubeadm init --kubernetes-version=v1.20.0
–image-repository registry.aliyuncs.com/google_containers
–service-cidr=10.1.0.0/16
–pod-network-cidr=10.224.0.0/16
–apiserver-advertise-address=172.18.30.166
#pull 镜像kubeadm config images pull 可以提前使用

#root、非用户需要执行 否则重新连接后登陆参数会消失
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config

#root用户执行
export KUBECONFIG=/etc/kubernetes/admin.conf

#成功后会出现加入集群的token 也可以使用kubeadm token create --print-join-command 查看
kubeadm join 172.18.30.166:6443 --token d1nppx.f0w6avxvq803niqk
–discovery-token-ca-cert-hash sha256:410a4d0e671f9982712f2ea6813a637740d5b02ced5011e7676eb06cc5f7b585
在每个node上执行添加node节点

d. 个node节点执行 加入集群 此时个集群状体not ready 因为没有安装网络插件
kubeadm join 172.18.30.166:6443 --token d1nppx.f0w6avxvq803niqk
–discovery-token-ca-cert-hash sha256:410a4d0e671f9982712f2ea6813a637740d5b02ced5011e7676eb06cc5f7b585
#kubectl get nodes 查看各node状态
#kubectl get pods -A 查看pods状态
kubectl get pods --all-namespaces
#kubectl describe pods podname -n namespace
#kubectl -n kube-system get svc 查看服务
#kubectl get pod podname1 podname2 #获取pod信息

#kubectl -n kube-system get cm kubeadm-config -o yaml 配置文件

e. 安装网络插件
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
#查看工作状态
kubectl get node

f. 添加集群监控
///----------------------------------------------
Metrics Server 供 Dashboard 等其他组件使用,
是一个扩展的 APIServer,依赖于 API Aggregator。
所以,在安装 Metrics Server 之前需
要先在 kube-apiserver 中开启 API Aggregator。
-----------------------------------------------///
///----------------------------------------------
检查 API Server 是否开启了 Aggregator Routing:
查看 API Server 是否具有 --enable-aggregator-routing=true 选项。
含义:API Aggregation 允许在不修改 Kubernetes 核心代码的同时扩展 Kubernetes API,
即:将第三方服务注册到 Kubernetes API 中,
这样就可以通过 Kubernetes API 来访问第三方服务了,
例如:Metrics Server API。
----------------------------------------------///

vim etc/kubernetes/manifests/kube-apiserver.yaml
#在–enable-bootstrap-token-auth=true下添加一行 修改 manifests 配置后 API Server 会自动重启生效。
–enable-aggregator-routing=true

#下载yaml文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.1
修改yaml 的Deployment
- args:
- --kubelet-preferred-address-types=InternalIP # 删掉 ExternalIP,Hostname这两个,这里已经改好了,你那边要自己核对一下
- --kubelet-insecure-tls # 加上该启动参数
image: k8s.gcr.io/metrics-server/metrics-server:v0.4.1 # 镜像地址根据情况修改

#拉去镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.6
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2 gcr.io/google_containers/metrics-server-amd64:v0.3.2
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2

#安装yaml文件需要和版本对应0.3或0.4
kubectl apply -f components.yaml

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
#查看状态
kubectl top node

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值