0
点赞
收藏
分享

微信扫一扫

Ubuntu 安装 k8s v1.22.5

Soy丶sauce 2022-09-08 阅读 166


1. 初始化操作

# 关闭 FW、SWAP
sudo ufw disable
swapoff -a

2. 安装 docker-ce 并启动

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce -y
systemctl enable docker && systemctl start docker
systemctl status docker

sudo mkdir -p /etc/docker
systemctl start docker && systemctl enable docker

# ubuntu18.04 需要使用 systemd
cat > /etc/docker/daemon.json << EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"ip-forward": true,
"live-restore": false,
"log-opts": {
"max-size": "100m",
"max-file":"3"
},
"default-ulimits": {
"nproc": {
"Name": "nproc",
"Hard": 32768,
"Soft": 32768
},
"nofile": {
"Name": "nofile",
"Hard": 32768,
"Soft": 32768
}
}
}
EOF

sed -i 's/-H fd:\/\/ //g' /lib/systemd/system/docker.service
systemctl daemon-reload && systemctl restart docker
systemctl status docker

3. 安装 kubeadm、kubectl、kubelet

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat << EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
apt-get update
apt-get -y install kubelet=1.22.5-00 kubeadm=1.22.5-00 kubectl=1.22.5-00
systemctl enable kubelet

​查看 kubeadm 启动所需的镜像​​:镜像需要提前下载,或者使用国内的地址

# kubeadm config images list
I0907 22:10:58.091690 21993 version.go:255] remote version is much newer: v1.25.0; falling back to: stable-1.22
k8s.gcr.io/kube-apiserver:v1.22.13
k8s.gcr.io/kube-controller-manager:v1.22.13
k8s.gcr.io/kube-scheduler:v1.22.13
k8s.gcr.io/kube-proxy:v1.22.13
k8s.gcr.io/pause:3.5
k8s.gcr.io/etcd:3.5.0-0
k8s.gcr.io/coredns/coredns:v1.8.4

#!/bin/bash
while read line
do
docker pull $line
done < images.list

4. 执行 init

kubeadm init \
--apiserver-advertise-address=192.168.10.36 \
--image-repository "registry.aliyuncs.com/google_containers" \
--kubernetes-version v1.22.5 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
--ignore-preflight-errors=all

​执行失败重置​

kubeadm reset -f
rm -rf /etc/kubernetes

5. 使用 kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

6. 安装 calico

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
mkdir -p /data/calico/bpf
sed -i -r "s#/sys/fs#/data/calico#g" calico.yaml
sed -i -r "s#sys-fs#data-calico#g" calico.yaml

7. 去除污点

kubectl taint nodes --all node-role.kubernetes.io/master-

8. 查看集群

kubectl get nodes
kubectl get pods -o wide -n kube-system

9. 使用集群

kubectl get nodes
kubectl get pods -o wide -n kube-system

10. 安装 metric-server

​​K8S 安装 Metric-server​​

11. node 加入集群

kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>

​获取 token​

kubeadm token list

​获取 hash​

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

​例:​

kubeadm join --token <token> 192.168.10.20:6443 --discovery-token-ca-cert-hash sha256:<hash>

​​Ubuntu18.04 安装 docker​​

举报

相关推荐

0 条评论