ubuntu20.04部署k8s
## ubuntu20.04部署k8s
> 主要步骤为:
> 1. 添加源
> 2. 添加key
> 3. 安装docker, kubelet, kubeadm
> 4. 初始化
> 5. 安装网络
### 添加源(添加阿里源,避免FQ)
执行```vim /etc/apt/sources.list.d/kubernetes.list```创建源文件,添加以下内容:
```
deb [arch=amd64] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
```
更新apt
```bash
apt-get update
```
### 添加key(若不报```NO_PUBKEY```可跳过此步)
若执行```apt-get update```过程报这个错误:
```
The following signatures couldn't be verified because the public key is not
available: NO_PUBKEY 6A030B21BA07F4FB
```
是由于加了kubernetes源, 使用 apt-get update 命令会出现如下错误,原因是缺少相应的key,
运行以下命令,添加错误中对应的key(错误中
NO_PUBKEY后面的key的后8位):
```bash
gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB
```
接着运行:
```bash
gpg --export --armor E084DAB9 | sudo apt-key add -
```
如果报错```gpg: no valid OpenPGP data found```,可尝试将上条管道命令拆成2条命令执行:
```
curl -O https://packages.cloud.google.com/apt/doc/apt-key.gpg
apt-key add apt-key.gpg
```
显示```OK```则完成添加key。
接着重新更新apt
```
apt-get update
```
### 安装服务
```
apt-get install -y docker.io kubelet kubeadm kubectl
```
### 检查kubelet的cgroupDriver是否为systemd
```
cat /var/lib/kubelet/config.yaml | grep cgroup
```
如果是,修改Docker的配置```vim
/etc/docker/daemon.json```:
```json
{
"exec-opts": [
"native.cgroupdriver=systemd"
]
}
```
修改保存后重启
```
systemctl daemon-reload
systemctl restart docker
systemctl restart kubelet
```
### 初始化master(这里使用阿里云的镜像,使用192.168.0.0/16,避免和宿主机的局域网的CIDR重复)
```
kubeadm init --pod-network-cidr 192.168.0.0/16 --image-repository
registry.cn-hangzhou.aliyuncs.com/google_containers
```
### 初始化成功后,给自己配置授权,授权后才可以执行kubectl命令行
```
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >>
~/.bashrc
source ~/.bashrc
```
### 允许pod调度到master
```
kubectl taint nodes --all node-role.kubernetes.io/master-
```
### 安装calico网络(需要几分钟)
```
mkdir -p ~/k8s/
cd ~/k8s
wget https://docs.projectcalico.org/manifests/calico.yaml
kubectl apply -f calico.yml
```
### 检查正常运行
```bash
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane,master 8m
v1.23.4
```
```bash
kubectl get pod -n kube-system
NAME
READY STATUS RESTARTS
AGE
calico-kube-controllers-56fcbf9d6b-xvgx2
1/1 Running 0
5m15s
calico-node-q9hmf
1/1 Running 0
5m15s
coredns-64897985d-5xd75
1/1 Running 0
7m25s
coredns-64897985d-rrncl
1/1 Running 0
7m25s
etcd-k8s-ljy
1/1 Running 6
7m38s
kube-apiserver-k8s-ljy
1/1 Running 6
7m37s
kube-controller-manager-k8s-ljy
1/1 Running 2
7m37s
kube-proxy-6nb9v
1/1 Running 0
7m26s
kube-scheduler-k8s-ljy 1/1 Running
6 7m40s
```

浙公网安备 33010602011771号