# 配置关闭selinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 配置内核参数
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
# 配置kubenetes yum源
cat <<EOF > /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
# docker 仓库
wget -P /etc/yum.repos.d https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装服务,(如有特殊需要请指定版本)
yum install docker kubelet kubeadm -y
systemctl enable docker
systemctl enable kubelet
# 统一cgroupdriver为systemd
cat << EOF > /etc/docker/daemon.json
{
"exec-opt": ["native.cgroupdriver=systemd"],
"max-concurrent-downloads": 20
}
EOF
# 启动docker
systemctl start docker
# --control-plane-endpoint 指定apiserver负载地址,--image-repository 指定镜像仓库地址。
kubeadm init --control-plane-endpoint "172.29.203.73:6443" --upload-certs --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
其他常用命令
# 检查kubeadm管理的本地PKI中证书的到期时间
kubeadm certs check-expiration
# 安装网络插件
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
# 部署metrics-server
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
# 增加如下配置
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-insecure-tls
- --authorization-always-allow-paths=/livez,/readyz
image: phperall/metrics-server:v0.4.1
# 需要修改镜像地址。
kubectl apply -f components.yaml