Howto k0s: Difference between revisions
Jump to navigation
Jump to search
Mandulete1 (talk | contribs) (Created page with "= installation = on archlinux use yay: yay -S k0s-bin on other distros: curl -sSLf https://get.k0s.sh | sudo sh") |
Mandulete1 (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
on other distros: | on other distros: | ||
curl -sSLf https://get.k0s.sh | sudo sh | curl -sSLf https://get.k0s.sh | sudo sh | ||
= edit config = | |||
export default config to file: | |||
k0s default-config > ./k0s.yaml | |||
edit the following settings: | |||
apiVersion: k0s.k0sproject.io/v1beta1 | |||
kind: ClusterConfig | |||
metadata: | |||
creationTimestamp: null | |||
name: k0s | |||
spec: | |||
api: | |||
address: 192.168.75.2 | |||
k0sApiPort: 9443 | |||
port: 6443 | |||
sans: | |||
- 192.168.75.2 | |||
controllerManager: {} | |||
extensions: | |||
helm: | |||
repositories: | |||
- name: ingress-nginx | |||
url: https://kubernetes.github.io/ingress-nginx | |||
- name: bitnami | |||
url: https://charts.bitnami.com/bitnami | |||
- name: jetstack | |||
url: https://charts.jetstack.io | |||
- name: pacroy | |||
url: https://pacroy.github.io/helm-repo | |||
charts: | |||
- name: ingress-nginx | |||
chartname: ingress-nginx/ingress-nginx | |||
version: "4.10.1" | |||
namespace: kube-system | |||
- name: metallb | |||
chartname: bitnamicharts/metallb | |||
version: "0.14.5" | |||
namespace: kube-system | |||
values: |2 | |||
configInline: | |||
address-pools: | |||
- name: generic-cluster-pool | |||
protocol: layer2 | |||
addresses: | |||
- 192.168.75.20-192.168.75.25 | |||
storage: | |||
create_default_storage_class: false | |||
type: external_storage | |||
installConfig: | |||
users: | |||
etcdUser: etcd | |||
kineUser: kube-apiserver | |||
konnectivityUser: konnectivity-server | |||
kubeAPIserverUser: kube-apiserver | |||
kubeSchedulerUser: kube-scheduler | |||
konnectivity: | |||
adminPort: 8133 | |||
agentPort: 8132 | |||
network: | |||
calico: null | |||
clusterDomain: cluster.local | |||
dualStack: {} | |||
kubeProxy: | |||
iptables: | |||
minSyncPeriod: 0s | |||
syncPeriod: 0s | |||
ipvs: | |||
minSyncPeriod: 0s | |||
syncPeriod: 0s | |||
tcpFinTimeout: 0s | |||
tcpTimeout: 0s | |||
udpTimeout: 0s | |||
metricsBindAddress: 0.0.0.0:10249 | |||
mode: iptables | |||
kuberouter: | |||
autoMTU: true | |||
hairpin: Enabled | |||
ipMasq: false | |||
metricsPort: 8080 | |||
mtu: 0 | |||
peerRouterASNs: "" | |||
peerRouterIPs: "" | |||
nodeLocalLoadBalancing: | |||
envoyProxy: | |||
apiServerBindPort: 7443 | |||
konnectivityServerBindPort: 7132 | |||
type: EnvoyProxy | |||
podCIDR: 10.244.0.0/16 | |||
provider: calico | |||
serviceCIDR: 10.96.0.0/12 | |||
scheduler: {} | |||
storage: | |||
etcd: | |||
externalCluster: null | |||
peerAddress: 192.168.75.2 | |||
type: etcd | |||
telemetry: | |||
enabled: true | |||
= install single node cluster = | |||
iniciate installation: | |||
k0s install controller -c k0s.yaml --single --no-taints | |||
k0s start | |||
verify status: | |||
k0s status | |||
verify node status: | |||
k0s kubectl get nodes | |||
copy kube admin credentials: | |||
mkdir ~/.kube/ && cp /var/lib/k0s/pki/admin.conf ~/.kube/config | |||
verify cluster pods status: | |||
kubectl get po -A |
Revision as of 18:02, 17 May 2024
installation
on archlinux use yay:
yay -S k0s-bin
on other distros:
curl -sSLf https://get.k0s.sh | sudo sh
edit config
export default config to file:
k0s default-config > ./k0s.yaml
edit the following settings:
apiVersion: k0s.k0sproject.io/v1beta1 kind: ClusterConfig metadata: creationTimestamp: null name: k0s spec: api: address: 192.168.75.2 k0sApiPort: 9443 port: 6443 sans: - 192.168.75.2 controllerManager: {} extensions: helm: repositories: - name: ingress-nginx url: https://kubernetes.github.io/ingress-nginx - name: bitnami url: https://charts.bitnami.com/bitnami - name: jetstack url: https://charts.jetstack.io - name: pacroy url: https://pacroy.github.io/helm-repo charts: - name: ingress-nginx chartname: ingress-nginx/ingress-nginx version: "4.10.1" namespace: kube-system - name: metallb chartname: bitnamicharts/metallb version: "0.14.5" namespace: kube-system values: |2 configInline: address-pools: - name: generic-cluster-pool protocol: layer2 addresses: - 192.168.75.20-192.168.75.25 storage: create_default_storage_class: false type: external_storage installConfig: users: etcdUser: etcd kineUser: kube-apiserver konnectivityUser: konnectivity-server kubeAPIserverUser: kube-apiserver kubeSchedulerUser: kube-scheduler konnectivity: adminPort: 8133 agentPort: 8132 network: calico: null clusterDomain: cluster.local dualStack: {} kubeProxy: iptables: minSyncPeriod: 0s syncPeriod: 0s ipvs: minSyncPeriod: 0s syncPeriod: 0s tcpFinTimeout: 0s tcpTimeout: 0s udpTimeout: 0s metricsBindAddress: 0.0.0.0:10249 mode: iptables kuberouter: autoMTU: true hairpin: Enabled ipMasq: false metricsPort: 8080 mtu: 0 peerRouterASNs: "" peerRouterIPs: "" nodeLocalLoadBalancing: envoyProxy: apiServerBindPort: 7443 konnectivityServerBindPort: 7132 type: EnvoyProxy podCIDR: 10.244.0.0/16 provider: calico serviceCIDR: 10.96.0.0/12 scheduler: {} storage: etcd: externalCluster: null peerAddress: 192.168.75.2 type: etcd telemetry: enabled: true
install single node cluster
iniciate installation:
k0s install controller -c k0s.yaml --single --no-taints k0s start
verify status:
k0s status
verify node status:
k0s kubectl get nodes
copy kube admin credentials:
mkdir ~/.kube/ && cp /var/lib/k0s/pki/admin.conf ~/.kube/config
verify cluster pods status:
kubectl get po -A