Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kellyiscute/k8s-install-allyouneed
在墙内如何顺利地安装k8s
https://github.com/kellyiscute/k8s-install-allyouneed
k8s k8s-install kubernetes
Last synced: 26 days ago
JSON representation
在墙内如何顺利地安装k8s
- Host: GitHub
- URL: https://github.com/kellyiscute/k8s-install-allyouneed
- Owner: kellyiscute
- License: mit
- Created: 2020-11-01T05:27:15.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-11-01T06:58:22.000Z (about 4 years ago)
- Last Synced: 2024-12-13T06:32:58.474Z (27 days ago)
- Topics: k8s, k8s-install, kubernetes
- Homepage:
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# k8s-Install-AllYouNeed
在墙内如何顺利地安装k8s
以Deb系为例,使用的版本为1.19## `0x00` 准备就绪
CLONE THIS REPO
clone下这个仓库
`git clone https://github.com/guo40020/k8s-Install-AllYouNeed`
关闭swap
`sudo swapoff -a`
安装docker
`sudo apt install docker docker.io containerd`
**如果你在使用Ubuntu 19.04/Debian 10或更高版本**则需要把iptables改为legacy模式
```bash
update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
update-alternatives --set arptables /usr/sbin/arptables-legacy
update-alternatives --set ebtables /usr/sbin/ebtables-legacy
```## `0x01` 寻求国内镜像的庇护
在这里,我们将使用**清华TUNA协会**的镜像,which is [镜像站地址](https://mirrors.tuna.tsinghua.edu.cn/)
1. 首先导入apt key
`cd k8s-Install-AllYouNeed`
`sudo apt-key add k8s-key.gpg`
2. 添加k8s镜像源
```bash
cat <` 恢复成docker镜像
当然,还有其他的骚操作可以完成这个任务,
比如说……
用一台国外的服务器fake一个 k8s.gcr.io,
通过修改hosts文件,让 k8s.gcr.io 指向这台服务器,然后从这台服务器拉取镜像...
只是过程繁琐,这就就不再赘述## `0x03` 大功告成
至此,困难的部分已经结束。
但是还有一部分我们没有做完: `kubeadm init`
**但是!** 这里需要注意一个地方……
因为k8s需要一个网络插件才能完全初始化集群,
那么就需要去找一个支持CNI的网络插件
这里我们使用[Calico](https://www.projectcalico.org/)
首先,初始化集群master
`sudo kubeadm init --pod-network-cidr=192.168.0.0/16`
上面的`--pod-network-cidr`网段如果已经被占用,则需要选择别的网段
在kubeadm完成初始化任务后,在最后的输出里面,包含了一下几个命令
```bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
逐个运行(当然,不运行也是可以的...)
接下来,安装Calico网络插件
```bash
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
```
接下来监视k8s的pod运行状态
```bash
watch kubectl get pods -A
```
当所有pod都变为Running时,运行以下命令来允许在控制面上调度pod
`kubectl taint nodes --all node-role.kubernetes.io/master-`## END
那么,现在一个单节点的k8s就已经安装完成了
ENJOY LEARNING~~